共2条
1/1 1 跳转至页
LPC2210,flash,RAM LPC2210把程序从片外flash拷贝片内RAM运行没有实际意义

问
忙了这么久,总算实现了程序从flash加载到RAM运行。的确,速度提高了很多,但是却发现没有意义。因为在跑操作系统时,任务切换时,由于根据任务函数地址来切换的,而这个函数地址是编译时确定了(在片外flash),所以还得到flash去执行。使得性能差了很多,这离我预订的目标差太远了。
不知道各位大侠对这种情况有什么建议,怎样才能使任务切换时取的是相对地址,而不是绝对地址呢? 答 1: 你程序有多大啊?超过256K? 答 2: 才13K,但是以后肯定更大以后还得加入大概2M字库,不知local_mach要确定程序多大有什么建议? 答 3: 2M的字库放在片外吧现在才13K,以后的事以后说,再说,以后LPC还有512K的,怕什么? 答 4: 其实我把它放到RAM运行为了提高运行速度也许使用片内flash,也可以达到RAM的速度。但是LPC2210没有片内flash,如果选用带片内flash的ARM,成本也上涨了吧? 答 5: 是的不知道你是做什么产品的?如果从单个CPU来算,成本是涨不少,
如果从整个系统成本和稳定来说,我想差不多,用2210你也得用
外部FLASH,内部比较保密 答 6: 在有操作系统支持的时候,代码需要编译成ROPI把程序从Flash加载到SRAM里面去运行是一个很经典重定位的问题,就像在X86中,操作系统把应用程序装到内存中然后执行;
首先,编译出的执行代码必须是可重定位(Reallocatable)的,ARM的术语是Read-Only section Position-Independent(ROPI)。
其次,操作系统还需要支持Loader程序,即Loader能得到应用程序的符号表,然后能把应用程序装在到运行空间,最后设置PC指针,把执行权转交给应用程序。
ucosii只是一个简单的OS kernel,要实现把程序加载入SRAM中运行还要很多工作做,并且CPU内最好有MMU
偶正在研究这个问题,欢迎大家一起来探讨...:) 答 7: re我这里也有一设备
ucos+ucgui在2410上跑
不过是用u-boot引导到内存中的
不知道各位大侠对这种情况有什么建议,怎样才能使任务切换时取的是相对地址,而不是绝对地址呢? 答 1: 你程序有多大啊?超过256K? 答 2: 才13K,但是以后肯定更大以后还得加入大概2M字库,不知local_mach要确定程序多大有什么建议? 答 3: 2M的字库放在片外吧现在才13K,以后的事以后说,再说,以后LPC还有512K的,怕什么? 答 4: 其实我把它放到RAM运行为了提高运行速度也许使用片内flash,也可以达到RAM的速度。但是LPC2210没有片内flash,如果选用带片内flash的ARM,成本也上涨了吧? 答 5: 是的不知道你是做什么产品的?如果从单个CPU来算,成本是涨不少,
如果从整个系统成本和稳定来说,我想差不多,用2210你也得用
外部FLASH,内部比较保密 答 6: 在有操作系统支持的时候,代码需要编译成ROPI把程序从Flash加载到SRAM里面去运行是一个很经典重定位的问题,就像在X86中,操作系统把应用程序装到内存中然后执行;
首先,编译出的执行代码必须是可重定位(Reallocatable)的,ARM的术语是Read-Only section Position-Independent(ROPI)。
其次,操作系统还需要支持Loader程序,即Loader能得到应用程序的符号表,然后能把应用程序装在到运行空间,最后设置PC指针,把执行权转交给应用程序。
ucosii只是一个简单的OS kernel,要实现把程序加载入SRAM中运行还要很多工作做,并且CPU内最好有MMU
偶正在研究这个问题,欢迎大家一起来探讨...:) 答 7: re我这里也有一设备
ucos+ucgui在2410上跑
不过是用u-boot引导到内存中的
共2条
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分 |