<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnHardware" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
用户程序文件需要做的操作
运行在ram的用户程序文件和 咱做在运行在flash里面的运行文件思想是一样的;
只不过用户文件里面的ROM配置要改到RAM的地址

bootloader里面需要做的操作
假设我把程序文件接收到了flash的0x08004000 (注意这里只是做说明,实际上应该存储到外部flash)
然后我把程序读取出来存储到RAM运行区

其它注意:
当咱们把用户程序设置为运行在RAM里面以后,咱就不能使用IDE直接下载到板子里面了;

要想一开始出货产品的时候可以运行用户程序,有两种方式;
第一种方式: 通过自己规定协议把用户程序发到单片机,单片机接收以后存储到flash,
然后再从flash拷贝到RAM运行;
第二种方式: 直接把用户程序的bin文件生成数组,放到程序里面; 然后检测到flash
没有程序的时候,直接把数组里面的程序拷贝到RAM运行