Lv.4
樊心昊
更多个人资料
676
成长值
6
关注
162
粉丝
+ 关注
私信
个人介绍
这个人很懒,什么都没有留下
感兴趣或擅长的领域
IOT、编程语言
个人勋章
TA还没获得勋章~
成长雷达
540
36
50
30
20
个人资料
个人介绍
这个人很懒,什么都没有留下
感兴趣或擅长的领域
IOT、编程语言
达成规则
以上满足
项可达成此勋章
博客
关注
粉丝
论坛
全部时间
全部时间
最近三天
最近一周
最近一月
全部
暂无专栏分类
0x07 LiteOS内核详解--中断接管机制(下)
三、中断接管机制涉及到的文件los_hwi.c文件解析 该函数的本质就是直接通过C语言中嵌入汇编代码,读取IPSR寄存器的值,__get_IPSR()函数声明如下图:IPSR寄存器的解析----转自M3内核手册这些函数是用于处理系统中断,系统中断并未被LiteOS中断管理器接管,而是采用传统方案,当发生中断后,直接由中断向量表跳转过来执行。 除系统中断以外的全部中断发...
LiteOS
樊心昊
2020-06-26 17:58:07
5870
0
0
2020-06-26 17:58:07
999+
0
0
0x06 LiteOS内核详解--中断接管机制(上)
摘要:中断管理一般有两种方式,第一种就是STM32 Hal库提供的回调函数,当发生中断时,跳转到对应中断向量处,执行之前存放好的中断处理函数。第二种就是LiteOS提供的中断接管管理的方式,将所有的中断统一管理,除了几个重要的中断外,其余中断都用osInterrupt函数在其中断向量处占位,最终无论发生什么中断首先进入到osInterrupt函数中判断,根据中断是否使能、优先级等等信息来调用...
LiteOS
樊心昊
2020-06-26 17:56:42
6116
0
0
2020-06-26 17:56:42
999+
0
0
GCC工具链详解
摘要:GCC全称GNU Compiler Collection,是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件。我们使用IoT Studio编译程序时,最终被调用的编译器也是GCC的一个分支,arm-none-eabi-工具链,注意这里所说的“链”,指一系列工具,编译器、汇编器、链接器等工具,被组装到了一起,形成了一个链子。本篇主要讲解他们的...
gcc
樊心昊
2020-06-23 17:12:09
7663
0
1
2020-06-23 17:12:09
999+
0
1
0x05 LiteOS内核详解--如何知道LiteOS中调用了哪些文件?
摘要:如何知道LiteOS中使用了哪些文件?当然是看Makefile文件咯,因为在LiteOS工程中使用Makefile来控制编译的,我们只要阅读其Makefile即可知道哪些文件参与了编译,有关Makefile的学习,请参考我的帖子“分享几个彻底学习LiteOS_Lab需要具备的知识”。本贴以armv7-m内核为例,带领大家阅读OS组件中LiteOS的Makefile。一、LiteOS_L...
Makefile
樊心昊
2020-06-22 15:38:19
4864
0
0
2020-06-22 15:38:19
999+
0
0
0x04 LiteOS内核详解--一个elf文件中有什么?
本章将带领大家从一个Huawei_LiteOS.ELF文件里面有什么开始分析,为后面的内核分析做铺垫,特别是“中断接管”以及“启动流程“和本章有这紧密的联系。一、ELF文件和BIN文件有什么区别?先来看看同一个程序生成的ELF文件和BIN文件的大小:不看不知道,一看吓一跳,同一个程序的ELF文件居然比BIN文件大10倍!如果你拥有一个ELF文件可以通过objcpy指令生成BIN文件,但是BI...
汇编语言
樊心昊
2020-06-22 15:36:29
3643
0
0
2020-06-22 15:36:29
999+
0
0
0x07和0x08 LiteOS_Lab仓库组件详解 cJSON
摘要:我们将设备采集到的数据上传到云平台一般有两种主流的方式:二进制码流和json,本章用于讲解在LiteOS仓库中集成的cJson库,用于将需要上报的数据封装为json格式或者将云平台下发的json格式数据解析出来。一、华为云平台需要的json数据格式当我们下位机使用mqtt协议来进行通讯并且mcu的ram和flash也比较充裕,我们就可以采用json格式来和云平台进行数据交互。首先在定义...
JSON
樊心昊
2020-06-22 15:32:07
3373
0
0
2020-06-22 15:32:07
999+
0
0
0x06 LiteOS_Lab仓库组件详解--AT框架总结
摘要:由于前面几篇文章都属于源码级解析,本篇文章带领大家实践使用整个AT框架,将前面的知识串联在一起讲解,让大家能真正将AT框架运用到实际开发当中。 初始化:我们的初始化流程和上图一致,由下到上进行初始化。1. 在Uart.c文件实现将uart注册进driver层中的函数并调用宏定义等待初始化driver层时自动注册: 2. 调用driver层中的初始化函数,初始化d...
轻量级操作系统 LiteOS
樊心昊
2020-06-22 15:25:21
3741
0
0
2020-06-22 15:25:21
999+
0
0
0x05 LiteOS_Lab仓库组件详解--AT(下)
AT框架关闭打印调试信息函数该函数用于关闭AT打印调试信息,如果关闭了AT框架在收到数据时就不会进行相应的打印了。1. int at_debugclose(void) 2. { 3. //for the debug 4. g_at_cb.rxdebugmode = en_at_debug_none; //本质上就是修改了结构体中的成员变量5. g_a...
轻量级操作系统 LiteOS
樊心昊
2020-06-22 15:23:46
2498
0
0
2020-06-22 15:23:46
999+
0
0
0x03 LiteOS_Lab仓库组件详解--Driver (下)
设备开启函数我们在使用某个设备之前,如果该设备具有open和close的能力,就要先去打开该设备,用完之后关闭该设备。 设备关闭函数在使用完设备之后,我们可以调用设备关闭函数。向设备中读取数据向设备中写入数据
轻量级操作系统 LiteOS
樊心昊
2020-06-02 21:48:41
2440
0
0
2020-06-02 21:48:41
999+
0
0
0x02 LiteOS_Lab仓库组件详解--Driver(上)
摘要:本贴详解driver层,相信大家肯定有疑问,为啥我不说完AT层再说driver层?因为AT层就是通过调用driver层中的API来操作串口的,所以不得不在AT层的详解中先把driver层说了。编程的抽象思想我们在接到一个客户的需求时,帮客户制作一份程序,大家有没有想过“我能不能把这个客户需要的代码下次卖给其他客户,节约自己的工作量”。要如何才能将刚刚我们提出的想法实现呢?这就需要通过编...
单片机
轻量级操作系统 LiteOS
樊心昊
2020-06-02 21:44:53
2526
0
0
2020-06-02 21:44:53
999+
0
0
总条数:54
10
10
20
50
100
1
2
3
4
5
6
上滑加载中
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
+ 关注
私信