有关LPC43XX IAR M4核加载M0核问题

bubuxindong 2014-05-24 02:40:57
最近在做LPC43XX系列的双核系统,暂时使用的是LPC4350的板子,使用的是IAR编译环境。

设置M0核代码放置在ram区,地址为0x10010000~0x10017fff, M4核代码放置在ram区,地址为0x10000000~0x1000ffff.
想在M4工程中加载M0核的bin文件,看了网上的资料,说是在options->Linker->Extra Options中添加symbols。如图。

但是查看M4 map中m0Image的地址还是在M4的区间里面,为0x10000114。
如何才能将m0Image的地址放在M0的区间里呢,如m0Image的地址为0x10010000.

请高手们指教!
...全文
178 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lr2131 2014-05-27
  • 打赏
  • 举报
回复
引用 4 楼 bubuxindong 的回复:
[quote=引用 3 楼 lr2131 的回复:] 没玩过双M核的单片机,长见识了。
哟西,大哥,会结贴不?[/quote] 点上面的结贴就可行啦
bubuxindong 2014-05-27
  • 打赏
  • 举报
回复
引用 3 楼 lr2131 的回复:
没玩过双M核的单片机,长见识了。
哟西,大哥,会结贴不?
lr2131 2014-05-26
  • 打赏
  • 举报
回复
没玩过双M核的单片机,长见识了。
bubuxindong 2014-05-26
  • 打赏
  • 举报
回复
尼玛,不会结贴了~~~~~~
bubuxindong 2014-05-26
  • 打赏
  • 举报
回复
问题解决,方法如下:

在.icf文件里面,加上
define symbol __ICFEDIT_region_M0RAM_start__ = 0x10010000;
define symbol __ICFEDIT_region_M0RAM_end__ = 0x10017fff;

define region M0RAM_region = mem:[from __ICFEDIT_region_M0RAM_start__ to __ICFEDIT_region_M0RAM_end__];

place in M0RAM_region {section .M0BIN};

再操作工程的options->Linker->Extra Options中勾选Use command line options, 在Command line options中添加如下内容:

--image_input=$PROJ_DIR$\..\M0\Debug\Exe\LPC4357140506.bin,m0Image,.M0BIN,4
--keep m0Image

记得一定要在M0BIN前面加一个.,不然不能成功,为了这个点,费了我好大的劲啊啊啊啊啊~~~~

得到的在.map中的结果如下:


天晴了,啊哈哈
本书是系统论述ARM Cortex-M0与Cortex-M0+处理器及其编程的图书,作者Joseph Yiu是英国ARM公司的主管工程师,著有久负盛名的畅销图书《ARM Cortex-M3与Cortex-M4权威指南(第3版)》(清华大学出版社)。本书适合的读者对象包括:嵌入式产品设计工程师、嵌入式软件开发人员、电子爱好者以及学习嵌入式系统课程(ARM Cortex-M0与Cortex-M0+)的高年级本科生及研究生等。作者提供了详实的配书工程源文件(见封面下载地址)。 l 深度剖析系统模型、指令集以及中断处理,以利于理解ARM Cortex-M0与Cortex-M0+的工作方式; l 综合运用汇编语言和C语言实现的丰富的ARM Cortex-M0与Cortex-M0+编程案例,有助于快速动手实践; l 系统论述软件的开发流程,并以常用软件开发工具为例,介绍程序设计的实例及如何定位程序代码问题和软件移植等方面的知识; l 全面揭秘从其他架构处理器进行软件移植的方法,包括ARM7TDMI、ARM Cortex-M3以及8051微控制器移植的实例; l 深入解析Cortex-M0和Cortex-M0+处理器架构特性的差异(如非特权执行等级、向量表重定位); l 细致分析了Cortex-M0+处理器的优势,比如新的单周期I/O接口、更优的能耗效率、更高的性能以及微跟踪缓冲(MTB)特性; l 详尽介绍了软件开发工具方面的新内容,如Keil MDK版本5、IAR Embedded Workbench for ARM、ARM gcc、CooCox及mbed使用示例; l 提供了基于CMSIS-RTOS API的Keil RTX实时操作系统的新实例; l 提供了Cortex-M0和Cortex-M0+微控制器使用实例,包括Freescale Freedom板(FRDM-KL25Z)、STM32F0 Discovery、STM32L0 Discovery和NXP LPC1114(DIP封装)面包板等。

27,377

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧