完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目标:把实验室的操作系统移植到ARM上去深感鸭梨很大啊。一边学,一边搞喽~~~~先从移植
第一步当然是要判断处理器是否满足要求喽,你千万别整个不能移植的芯片,还非要去搞,那是不行的哦~~当然阉割一下的,暂不作讨论。下面五条是条件: 1. 处理器的c编译器可以产生可重入代码 2. 用c语言就可以打开和关闭中断 3. 处理器支持中断,能产生定时中断 4. 处理器能够容纳一定数量的数据的硬件堆栈 5. 处理器有讲堆栈指针和其他cpu寄存器读出和存储到堆栈或内存中的指令 新建个文件夹,我起的名字是source,没办法,大家都叫这个,这样看上去比较专业吧。 下载ucos-|| 相关的代码扔到source文件夹下,然后建立工程拖进来喽。 在source目录下新建四个文件夹app bsp lib statub 分别用于存放用户程序 管脚配置以及芯片硬件时钟等相关配置 库文件 启动文件 好了,新建工程~~~该包含的包含,该往进托的就速度托~~~~此处省略200字~~~~~~ /**************************************华丽的分割***************************************************/ 开始配置喽 Ucos的源代码按照一直要求分为需要修改部分和不需要修改部分。其中需要修改源代码文件的有头文件 os_cpu。H .C 以及会变格式文件 os_CPU_A.ASM 首先讲修改头文件 OS_CPU.H 头文件OS_CPU.H中需要修改的内容与编译器相关的数据类型重定义部分和与处理器相关的少量代码,修改后的代码如下所示: typedef unsigned char BOOLEAN; typedef unsigned char INT8U; /* Unsigned 8 bit quantity */ typedef signed char INT8S; /* Signed 8 bit quantity */ typedef unsigned short INT16U; /* Unsigned 16 bit quantity */ typedef signed short INT16S; /* Signed 16 bit quantity */ typedef unsigned long INT32U; /* Unsigned 32 bit quantity */ typedef signed long INT32S; /* Signed 32 bit quantity */ typedef float FP32; /* Single precision floating point */ typedef double FP64; /* Double precision floating point */ typedef unsigned int OS_STK; /* Each stack entry is 32-bit wide */ typedef unsigned int OS_CPU_SR; ps:typedef声明新的类型名代替已有的类型名,也就是说允许由用户为数据类型取“别名”。例如:typedef unsigned int OS_STK;即此后就可用os_STK来代替UNSIGNED int作无符号整型变量的类型,还好我c语言好~~今天就先写到这拉~~~觉得不错请支持下哦. |
|
相关推荐
8 个讨论
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:34 , Processed in 0.533610 second(s), Total 55, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号