6057|0

750

帖子

3

TA的资源

版主

楼主
 

如何使用IAR构建并调试一颗未被收纳的Cortex-M3芯片 [复制链接]

本帖最后由 le062 于 2018-5-20 21:17 编辑

目标芯片:京微齐力HME-M7
芯片基本情况:
  • FPGA逻辑资源:12K LUT4 速度200M
  • Cortex-M3,速度300M,192kB SRAM
  • 集成USB DWCOTG 内置高速PHY
  • 1000M ETH
  • CAN * 2
  • DDR2 / DDR3控制器

关于开发环境,fpga部分是官方的Primace软件,MCU例程用的是Keil。
由于长期使用IAR,已无法适应Keil,所以尝试在IAR下构建并调试这颗Cortex-M3。

构建部分:
1. 选定内核:Cortex-M3


2. 配置link文件


3. 编写startup_cmem7.s文件
参考其他iar arm芯片启动文件及keil启动文件修改

以上三部分修改后,可正常构建。

调试部分:
1. 添加Register list
这部分没有找到资料,是通过观察已支持芯片的Register信息琢磨出来的。
首先,编写CME-M7.ddf
  1. ;; Architecture extensions
  2. #include weak "ARMv7-M-ETM.ddf"
  3. #include weak "ARMv7-M-TPIU.ddf"
  4. #include weak "ARMv7-M-MPU.ddf"

  5. ;; Memory information ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. ;;
  7. ;; Used to define address zones within the ARM address space (Memory).
  8. ;;
  9. ;;   Name      may be almost anything
  10. ;;   AdrSpace  must be Memory
  11. ;;   StartAdr  start of memory block
  12. ;;   EndAdr    end of memory block
  13. ;;   AccType   type of access, read-only (R), read-write (RW) or SFR (W)

  14. [Memory]
  15. ;;         Name             AdrSpace    StartAdr    EndAdr      AccType   Width
  16. Memory =  CODE-RAM         Memory      0x08000000  0x0801FFFF  RW
  17. Memory =  DATA-RAM         Memory      0x20000000  0x2000FFFF  RW
  18. Memory =  Flash            Memory      0x40000000  0x40FFFFFF  R  
  19. Memory =  Peripheral       Memory      0x41000000  0x4180FFFF  W  
  20. Memory =  SystemSFR        Memory      0xE0000000  0xE00FFFFF  W  

  21. TrustedRanges = true
  22. UseSfrFilter = true

  23. [SfrInclude]
  24. File = CME_M7.svd
复制代码

在这个文件中,指定了片上可访问地址范围及访问类型,一般是根据芯片的内存分布图修改

其次,编写CME_M7.svd
这是一份关于芯片寄存器描述及寄存器地址的XML文档,直接从官方ide中找到现成的了。
当然也可以自己编写,13455行

最后,在Debugger中选定ddf文件


2. 找一个调试器
先测试了一下CMSIS-DAP,很不幸,这货貌似不支持多设备JTAG(以后继续再研究,也许可以通过OpenOCD + GDB搞定)
只能退而求其次,用jlink搞,关掉flash download,选定jtag模式

配置完成后,Download and Debug,一次成功,完美。




完整的IAR工程及代码,IAR版本 7.80.3 Github_VSF
写在最后,CME-M7中M3代码是跑在SRAM中的,不涉及flash下载,否则还要处理flash下载的问题,请自行研究。

此内容由EEWORLD论坛网友le062原创,如需转载或用于商业用途需征得作者同意并注明出处




点赞 关注
个人签名

要666


回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表