搜索
bottom↓
回复: 11

Cortex-M3启动的特点,分享今天得到的教训

[复制链接]

出0入0汤圆

发表于 2013-1-28 22:39:51 | 显示全部楼层 |阅读模式
可能是别的体系结构看多了,想当然认为CM3也是默认从0x0000_0000启动,但今天自信看了map和lss文件,发现不是这么回事。
按照ARM的介绍,系统reset后,硬件自动会把从地址0x0000_0000中取得的内容当然MSP(Main Stack Pointer)的值,把0x0000_0004取得的值赋给PC指针(最后一位要手动清零),所以0x0000_0004上放置的数值才是真正意义上的系统入口。
这就是今天一天的教训,希望对你们有帮助。

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2013-1-28 22:49:56 来自手机 | 显示全部楼层
所以说先了解大概的理论再入手可以避免很多未知的错误.

出0入0汤圆

发表于 2013-1-29 10:55:49 | 显示全部楼层
莫非要写boot程序,直接做应用就可以了,遇到问题再去查阅

出0入0汤圆

发表于 2013-1-29 15:46:43 | 显示全部楼层
找库例程,自己重头来很麻烦的。

出0入296汤圆

发表于 2013-1-29 19:41:22 | 显示全部楼层
ARM的内核可以配置载入默认向量表的地址,如果芯片公司将这个默认地址固定为0x0000那么就是
从这个地方载入向量表,比如Atmel,向量表就放在0x80000000

出0入0汤圆

发表于 2013-2-24 20:47:20 | 显示全部楼层
spec说得很清楚,是从0004启动的。

出0入0汤圆

发表于 2013-2-24 21:30:11 | 显示全部楼层
第一次写M4的boot时候也遇到过这个问题

出0入0汤圆

发表于 2013-2-24 21:32:32 | 显示全部楼层
CM3比CM0灵活,中断向量表可以配置多个,对bootloader支持很灵活的。

出0入0汤圆

发表于 2013-2-25 08:33:11 | 显示全部楼层
确实如楼主所说。。。M3有点小例外

出0入0汤圆

发表于 2013-11-10 17:06:27 | 显示全部楼层
,遇见

出0入0汤圆

发表于 2013-11-11 09:04:30 | 显示全部楼层
嗯,对我有帮助!谢谢分享~

出0入0汤圆

发表于 2013-11-24 13:43:37 | 显示全部楼层
学习了!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 02:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表