嵌入式操作系统专题
嵌入式操作系统专题
物联网研究室BBC
博主老陈,通信工程专业,接触物联网行业的第九个年头,含丰富的无线模组软件开发经验,擅长解决各种无线通讯问题
展开
-
Linux文件IO操作常用函数
1.Linux文件的概念Linux系统中,一切皆是文件。无论是键盘、鼠标、显示屏以及其它设备,在Linux系统眼中,它们都只是文件,仅此而已。这就意味着计算机程序可以像使用文件一样操控所有的外设。操作文件(外设)的函数还是比较多的,但是常用的就那么几个:open、close、read、write、lseek、ioctl等有三个比较重要的设备文件,可以先了解以后肯定会用到:/dev/co...原创 2018-10-05 00:43:37 · 969 阅读 · 0 评论 -
module_init的简要分析和构建初始化函数表的实现
module_init的简要分析和构建初始化函数表的实现:https://download.csdn.net/download/fengfeng0328/10977610原创 2019-02-26 23:40:52 · 393 阅读 · 0 评论 -
利用gcc的__attribute__编译属性section子项构建初始化函数表
gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。__attribute__的section子项使用方式为:__attribute__((section("section_name")))其作用是将作用的函数或数据放入指定名为"section_name"的段。看以下程序片段:#include <unistd...转载 2019-02-26 23:32:01 · 681 阅读 · 0 评论 -
gcc预处理、编译、汇编、链接
最简单的gcc命令:$ gcc hello.c -o hello背后细节:预处理、编译、汇编、链接1.预处理$ gcc -E hello.c -o hello.i2.编译$ gcc -S hello.i -o hello.s //hello.s汇编文件3.汇编$ gcc -c hello.s -o hello.o //hello.o目标文件4.链接$ gcc hello.o -o hel...原创 2018-05-30 01:06:18 · 296 阅读 · 0 评论 -
Linux vi从入门到精通(持续更新)
只说干货:1.在vi中查找字符串先按ESC,然后使用/+string,按Enter开始查找,向下查找n,反向查找N2.在vi中跳转到指定行数先按ESC,再输入:n,按Enter开始跳转到第n行 3.在vi中显示行号先按ESC,再输入:set number4.再vi中隐藏行号先按ESC,再输入:set nonumber...原创 2018-05-29 00:01:09 · 301 阅读 · 0 评论 -
Linux实用命令(持续更新)
1.grep文件内容查找命令:$ grep -n -i -r "test" ./ //-n显示行号 -i忽略大小写 -r递归查找 ./当前目录下查找含有"test"的内容 grep默认非绝对匹配2.find文件名字查找命令:$ find ./ -name "test" //在当前目录下递归查找名字为"test.c"的文件 ...原创 2018-05-28 23:26:36 · 175 阅读 · 0 评论 -
嵌入式操作系统专题《基础概念1@轮询系统、前后台系统、多任务系统的区别》
轮询系统:即在裸机编程时,先初始化相关硬件,让主程序在一个死循环里面不断循环,顺序地处理各种事件。不能说轮询是低端的,轮询系统是一种非常简单的软件结构,但适用于仅需要顺序执行代码且不需要外部事件来驱动就能完成的事情,这会变得简单可靠。int main(){ /* 硬件初始化 */ HardWareInit(); /* 进入轮询 */ for(;;){ ...原创 2019-09-13 15:25:30 · 7163 阅读 · 0 评论 -
嵌入式操作系统专题《FreeRTOS操作系统1@内核链表》
FreeRTOS链表实现在list.h和list.c文件中,先贴上代码再分析:/* * FreeRTOS Kernel V10.0.1 * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Permission is hereby granted, free of char...原创 2019-09-13 20:51:15 · 799 阅读 · 0 评论 -
嵌入式操作系统专题《FreeRTOS操作系统2@任务控制块与任务静态创建函数》
FreeRTOS列举一个简单的任务控制块结构体:typedef struct tskTaskControlBlock{ volatile StackType_t *pxTopOfStack; /* 栈顶 */ ListItem_t xStateListItem; /* 任务节点 */ StackType_t *pxStack; ...原创 2019-09-14 02:21:41 · 1696 阅读 · 0 评论