King's Way';?>

首页 / 硬件开发

【转载】UC/OSII在S3C2410处理器上的移植

By King's Way •  2015-04-08 17:25:13 •  618次点击
本文转自南信linux社区旧版论坛,站长搬过来而已。
原作者:alex

简介:
针对不同的处理器,UCOS的处理要包含以下几个方面:
1.系统启动时调用OSInit()需要对CPU初始化、内存设置,这个依据处理器移植下;
2.对于异常的处理,比如STM32有一个中断向量表NVIC来执行,其他的处理器不一定,需要移植;
3.任务级调度和中断级的调度室用汇编写的,这个肯定是要移植的;
4.工程里面调用的所有固件和驱动,都需要相应的移植一下。
目前的UCOS移植就需要做这些工作。
1.第一件事情,解决在Flash中烧写的可执行文件位置,还要解决运行时内存SRAM中各个段的位置。
只读部分大小=Code + RO data
读写部分大小=RW data + ZI data ···SRAM
Bin文件大小=Code + RO data + RW data ···Flash
可执行代码按照不同的段分门别类的依次在Flash中放好。还有就是将例如栈堆的地址也通通安排好。
2.第二件事情是解决系统一启动时对基本运行环境(CPU和时钟等设置)。这个事根据各个处理器的启动代码来的。
禁止看门狗和外部中断+初始化堆栈+异常向量表
3.修改中断向量表
任何中断发生后都跳转到同一个地址IRQ_Handler去执行中断,在这个地方进行现场保持然后跳转到ISR去执行,读取中断值(中断源产生)
※对于中断的处理时系统的重中之重,也是移植的重点。(包括时钟中断)
4.临界区的移植
5.数据类型

执行文件  处理器  linux  Flash  工程 

0 回复 | 直到2017-07-23 03:00添加回复

回复

登录发表 or 还没有账号?去注册

Linux In Nuist - 南信Linux

现在注册 已注册请 登入
硬件开发

我们不是修电脑的

此节点 新建话题 上一贴 下一贴

节点列表

新手专区

系统运维

软件开发

硬件开发

内核相关

信息安全

茶话会

小广告

投诉建议:root@kings-way.info
Linux In Nuist QQ群:224897653