共5条
1/1 1 跳转至页
如何将ARM内部Flash中的程序搬运到外部RAM运行?

2楼
谢谢!我大概看了一下,感觉需要了解的内容很多,再慢慢琢磨琢磨。也看了您写的关于bootloader的文章,很精辟,以后不懂得地方还望不吝赐教!

3楼
twentyone大侠,看了您写的bootloader的文章,有些疑惑,希望赐教。
我想问一下,为什么要把BootLoader也复制到SDRAM中,直接运行在Flash中,把内核搬到0x800000不可以吗?还有,您的内核是直接用ADS编译的吗?这样编译后代码中还包含有BootLoader的信息吗?这样跳到0x800000中执行是不是又会执行BootLoader,这样不就陷入一种循环了吗?这些问题可能比较傻,见笑:)

4楼
谢谢twentyone大侠,明白您的意思了。
我现在考虑的比较简单,只是想做一个简单的搬运,可以不用操作系统,只是一些初始化程序和用户程序,用的是Windows下的ADS编译器,编译出来是一个整体,然后用JTAG下载到ARM内部的Flash当中,因为Flash的地址是从0x00000000开始的,所以上电后完成硬件时钟、中断等初始化程序后切换到main()就可以运行了。这样子在编译好的映像文件中好像区分不出来那些是初始化程序,那些是用户程序main()了,这样子的简单操作是不是不能实现搬运呀?
还有,您的Linux编译器编译后ARM可以执行吗?是不是只要编译成二进制文件,ARM就能执行,还是必需是针对特定ARM的编译器编译。
对您在百忙之中的回复深表感谢!!!

共5条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 |