共2条
1/1 1 跳转至页
问
我欲建一ARM系统,可实现在远程对代码进行更新,实现方案如下:
1 采用UART接收异地传来的更新程序代码
2 在ARM的UART接收程序中设定一指令代码,当识别到指令代码为程序升级时,启动升级过程
3 启动升级程序前,先把升级程序复制到RAM,然后在RAM中运行升级程序
现在我面临如下问题:
1 升级程序用C语言编写,地址是浮动的,我如何得到该段程序的起始地址和代码长度?
2 把程序复制到RAM后,如何通过该RAM的首地址变量名调用复制好的程序?
3 现在我用的是Keil uVision3,没有用ADS,直接使用的是Keil的编译器,如何得到BIN文件?
请有开发经验的专家指教!
谢谢! 答 1: re 答 2: re最后写一个小的boot代码,用UART指令启动该代码。把传过来的升级程序作为数据烧录到指定的flash地址中就可以了。
1 采用UART接收异地传来的更新程序代码
2 在ARM的UART接收程序中设定一指令代码,当识别到指令代码为程序升级时,启动升级过程
3 启动升级程序前,先把升级程序复制到RAM,然后在RAM中运行升级程序
现在我面临如下问题:
1 升级程序用C语言编写,地址是浮动的,我如何得到该段程序的起始地址和代码长度?
2 把程序复制到RAM后,如何通过该RAM的首地址变量名调用复制好的程序?
3 现在我用的是Keil uVision3,没有用ADS,直接使用的是Keil的编译器,如何得到BIN文件?
请有开发经验的专家指教!
谢谢! 答 1: re 答 2: re最后写一个小的boot代码,用UART指令启动该代码。把传过来的升级程序作为数据烧录到指定的flash地址中就可以了。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3学习整理】使用 LPUART 的loopback 模式实现核间通讯被打赏¥28元 | |
| arduinounoq原生zephyr环境搭建被打赏¥31元 | |
| 树莓派3+Klipper,MPU6050共振补偿被打赏¥41元 | |
| GroveCreatorKit套件+摇杆测评被打赏¥18元 | |
| 设备功耗web监控界面(ESP32C5)被打赏¥28元 | |
| OrangePiZero2W系统被打赏¥33元 | |
| Linux环境下以模拟方式快速实现出入管理功能测试被打赏¥24元 | |
| 树莓派3+Klipper,老3D打印机满血升级被打赏¥33元 | |
| OK1126B-S开发板下串口屏及其应用被打赏¥21元 | |
| 低功耗超声波液位测距仪(ESP32S3)被打赏¥27元 | |
我要赚赏金
