野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3579|回复: 2

新人移植LED例程求教

[复制链接]
发表于 2019-1-20 16:36:23 | 显示全部楼层 |阅读模式
本人刚接触操作系统,按别人的例程试着移植了1个LED灯,虽然成功了但对其步骤完全不懂,在启动文件中添加的IMPORT xPortPendSVHandler 、IMPORT xPortSysTickHandler  、IMPORT vPortSVCHandler  以及DCD     vPortSVCHandler 、DCD     xPortPendSVHandler 、DCD     xPortSysTickHandler这几条语句究竟是什么意思,起什么作用?还有源代码中的port.c、heap_2.c、list.c、queue.c、tasks.c、croutine.c和timers.c这些源文件又是干嘛的,什么时候要用到呢?求各位前辈们赐教!
回复

使用道具 举报

发表于 2019-1-20 17:21:54 | 显示全部楼层
看教程
回复

使用道具 举报

发表于 2019-1-20 19:01:41 | 显示全部楼层
1、PendSV 和 SVC 是ARM内核的两个中断,SVC 用于产生系统函数的调用请求,PendSV 的典型使用场合是在上下文切换时(在不同任务之间切换)。 详细讲解看《Cortex-M3权威指南》。
2、IMPORT xPortPendSVHandler 、IMPORT xPortSysTickHandler  相当于注册这两个中断的中断服务函数,当这两个中断发生时,调用的是你自己写的而不是系统默认的中断服务函数。最新FreeRtos V9.0 以后已经不需要这样的做了移植更简单。百度搜 FreeRTOS v9.00版本在STM32F407的移植
3、后面的.C文件是RTOS的系统文件,端口文件、堆文件、链表、队列定时器等,暂时不用看,等你熟练使用了RT0S在去分析源码,现在只需要会调用就行了。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-2 19:35 , Processed in 0.039878 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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