完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
还有想请教一下如何将代码跳转到flash某个位置去执行,我只能跳转到0x00000000开始执行。
(1)APROM通常用来存储IDE(如:KEIL)开发的应用程序代码。 (2)LDROM用于存储一些特殊代码,如用于固件升级的ISP。 (3)Data Flash可以保存一些用户数据。 |
|
相关推荐
1个回答
|
|
为了调试LDROM代码,我们需要用到JTAG调试工具,例如J-Link。在KEIL或其他IDE中,可以选择使用JTAG调试器进行调试,同时选择使用LDROM的代码。需要在项目设置中设置正确的FLASH地址和大小。
要将代码跳转到FLASH某个位置去执行,可以使用函数指针来实现。首先需要定义一个函数指针,然后将FLASH位置的地址赋值给该指针,最后调用该函数指针即可。 示例代码: ``` typedef void (*func_ptr_t)(void); func_ptr_t app_entry = (func_ptr_t)0x08004000; // 将函数指针赋值为FLASH位置的地址 app_entry(); // 调用函数指针,跳转到FLASH位置0x08004000执行 ``` 需要注意的是,跳转到FLASH执行代码时,需要注意该位置是否可执行,即该位置是否已经被擦除并烧录了可执行代码。同时还需要注意函数调用的栈空间是否足够,以及该位置的代码是否和当前运行的代码存在冲突。 |
|
|
|
只有小组成员才能发言,加入小组>>
586 浏览 0 评论
1061 浏览 1 评论
2433 浏览 5 评论
2758 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2580 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
608浏览 9评论
605浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
715浏览 6评论
585浏览 5评论
625浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-20 00:26 , Processed in 1.081126 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号