单片机系统里面有自带的存储系统,如ROM,RAM,Flash等。单片机自带的程序,如初始化程序等一般先存储在ROM或Flash中,然后运行时加载到RAM来执行相关的任务的。
在实际开发中,也是将写好的程序通过串口或者其他连线烧写(写入)到单片机的自带的存储系统中,然后再运行,大体就是这个样子。
这类单片机的内部程序肯定是加密的,读程序根本也读不出什么来的,都是加密后的乱码。就读程序而言,是不会损坏程序的。应该是读的过程中有误 *** 作了,改写了某些标与位,或者擦除了原程序。
不妨关电,再重新冷启动看一看,还不行,那就真的损坏了原程序了。
如果编译和上传分离到不同的机器上执行,可以使用下面方式。
依赖
安装arduino环境
sudo apt-get install arduino
编译
在Arduino IDE环境下,写好源码程序(以ino结尾的文件)。然后
Arduino -> Preferences ->”Show verbose output during”选择”compilation”。点击编译,在下方的输出框最后一行显示如下内容
/usr/share/arduino/hardware/tools/avr/bin/avr-objcopy -O ihex -R eeprom /tmp/build355782919138539048tmp/Blinkcppelf /tmp/build355782919138539048tmp/Blinkcpphex
可以得知, 源码(ino)编译后生成的二进制文件为/tmp/build355782919138539048tmp/Blinkcpphex
上传
把上一步编译生成的二进制文件上传到arduino控制板上。
/usr/share/arduino/hardware/tools/avrdude -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build355782919138539048tmp/Blinkcpphex:i
以上就是关于程序是如何载入单片机系统的全部的内容,包括:程序是如何载入单片机系统的、AVR单片机,ISP上载会损坏原有的程序吗、如何在Atom编译Arduino程序和上传到单片机等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)