OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 18725|回复: 1

Uocs例程 汇编

[复制链接]

74

主题

209

帖子

0

精华

高级会员

Rank: 4

积分
919
金钱
919
注册时间
2012-1-14
在线时间
5 小时
发表于 2012-7-22 17:12:25 | 显示全部楼层 |阅读模式

今天下午又看了下例程当中汇编部分的代码:脑袋里出现了三个问题
(1) 
PRESERVE8     
  
  AREA    |.text|, CODE, READONLY
        THUMB
 这段代码是什么意思?主要实现的是什么??????
(2)
OSTaskCreate()——>OS_Sched()——>OS_TASK_SW()——>OSCtxSw():  由此进入到了汇编程序,这个

大家都知道!现在我不明白的是  :进入汇编程序是从汇编代码的第一行开始执行直至最后一行还是从

OSCtxSw()入口,将OSCtxSw()及其中断函数执行完就跳出汇编程序?????????
(3)
#define  OS_CRITICAL_METHOD   4

#if OS_CRITICAL_METHOD == 4
  void OS_ENTER_CRITICAL (void);
     void OS_EXIT_CRITICAL (void);    
#endif

 为什么这个变成4了,不是3吗????怎么回事???????

小弟不才,请教!!在此先谢了

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-7-22 17:56:20 | 显示全部楼层
1,见这里:http://www.openedv.com/posts/list/5903.htm
2,OSCtxSw的代码如下:
OSCtxSw
PUSH    {R4, R5}
        LDR     R4, =NVIC_INT_CTRL   ;触发PendSV异常 (causes context switch)
        LDR     R5, =NVIC_PENDSVSET
        STR     R5, [R4]
POP     {R4, R5}
        BX      LR
不知道你哪里看到有其他函数...
3,你可以用3.我们为了方便,使用4.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 23:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表