主题 : 基于MDK的ucos,由友善之臂的例子移植过来 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 11832
精华: 0
发帖: 37
金钱: 185 两
威望: 37 点
贡献值: 0 点
综合积分: 74 分
注册时间: 2009-12-22
最后登录: 2017-03-13
楼主  发表于: 2009-12-27 11:08

 基于MDK的ucos,由友善之臂的例子移植过来

管理提醒: 本帖被 qq2440 从 Linux技术交流专区 移动到本区(2009-12-27)
将友善之臂的代码UCOS2基于ADS平台移植到 MDK平台
原先代码使用mmu 不知道为什么 在mdk+jlink使用mmu老是跑飞,
所以这个代码没有使用mmu,ucos的汇编代码完全采用原先的代码 没有进行修改
主要改了启动代码,指明了中断的跳转,
通过调试 知道友善之臂的默认bootloader的中断跳转是跳向 0x33F00000
例如 IRQ中断 地址 是 0x00000018   那么bootloader会跳向 0x33F00000+0x00000018
下面是中断拷贝程序 IRAM_BASE  等于 0x33F00000
                IF      :DEF:RAM_INTVEC
                ADR     R8,  Vectors    ; Source
                LDR     R9, =IRAM_BASE  ; Destination
                LDMIA   R8!, {R0-R7}    ; Load Vectors
                STMIA   R9!, {R0-R7}    ; Store Vectors
                LDMIA   R8!, {R0-R7}    ; Load Handler Addresses
                STMIA   R9!, {R0-R7}    ; Store Handler Addresses
                ENDIF


在c中 要设置 IRQ的处理程序
#define _ISR_STARTADDRESS     0x33F00020
#define pISR_IRQ        (*(unsigned *)(_ISR_STARTADDRESS+0x18))


    pISR_IRQ=(INT32U)OS_CPU_IRQ_ISR;


                            镇关西(QQ:191635418)
                                09/12/27
附件: 基于mdk的ucos使用友善的boot.rar (348 K) 下载次数:1294
ucos 播放视频 TCPIP 都不会 呵呵
级别: 新手上路
UID: 104508
精华: 0
发帖: 3
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2014-05-26
最后登录: 2014-06-16
1楼  发表于: 2014-05-27 12:59

 回 9楼(cchd20) 的帖子

不知道九楼学得怎么样了,我是新手,,求指导呀!求代码!!
顶!!!