嵌入式日志管理系统的设计与实现 日志应用定位问题、跟踪数据、采集数据等多个方面,比如定位一些时序性较强的 bug、分析系统运行时的性能、对系统产生的数据进行保存分析等等,这些都是在线调试不能解决的。所以日志在一个系统的扮演一个很重要的角色,一般在开发不支持在线调试的单片机是,第一个要实现在功能就是日志了。
关于C代码规范,如何制定自己的编码规范 “一个专业的程序员不仅因该能写出有效和正确的代码,他还因该能以一种可能在多年以后,需要维护它的人能够理解的风格编写的代码”。所以不管是自己独立开发的项目,还是与其他人共同开发的项目,都应该做好代码规范,这样开发和维护的过程就也会变得轻松一点。
MQTT协议 MQTT协议(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,MQTT 最大的优点在于可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务
3种字符设备驱动编程 目录1 杂项字符设备核心结构体操作函数杂项字符设备注册应用2 早期经典方式注册操作函数经典设备注册应用3 Linux2.6字符设备核心结构体操作函数Linux2.6设备注册应用Linux系统借鉴了面向对象的思想来管理设备驱动,每一类设备都会有定义一个特定的结构体来描述它,这个结构体包含了设备的基本信息,以及操作设备方法(函数指针)所以,编写程序实际上就是实现核心结构体,然后把这个结构体注册到内核中。 驱动程序就是向下控制硬件,向上提供接口,这...
内核模块化编程 目录内核模块的概念介绍模块化编程框架模块加载函数模块卸载函数模块的开源协议与声明模块编译 Makefile 模板单模块的编程步骤1 编写内核模块文件test.c2 编写Makefile3 编译生成test.ko内核模块的概念介绍Linux 内核整体结构已经很庞大,包含了很多的组件,而对于我们工程师而言,有两种方法将需要的功能包含进内核当中。一:将所有的功能都编译进 Linux 内核(静态加载模块)。二:将需要的功能编译成模块...
裸机启动流程 目录初识开发板:1裸机启动流程:2烧录代码命令3交叉编译工具4编译点亮led灯的代码初识开发板:核心板:三星exynos4412猎户座系统芯片;CPU主频 1.4GHZ,基于ARM-cortex A9;四核处理器,同时处理四个进程;内部IROM:内部集成的一个存储的 64k;内部IRAM:256k;外部扩充ROM:4G存储空间,RAM:1G的内存空间。底板:蜂鸣器:1个;UART口:3个;usb:2个;网口:1个;拨码开关:2个(左边控制电源,右边控制启动位置);IIC:4套
8080协议 目录8080协议概述写周期序列读周期序列8080协议概述8080协议是一种并行、异步、半双工通信协议,可用于单片机控制器与LCD驱动芯片之间的通信。8080的通信端包括:The chip-select CSX (activelow) is used to enable or disable ILI9341 chip. The RESX(active low) is an external reset signal. WRX is theparallel data write st.
Linux工程编译、管理和调试 目录工程编译动态库与静态库的制作静态库动态库补充调试工具gdb工程管理工具makefile工程编译Ubuntu编译C程序采用的是gcc编译器 gcc xxx.c //编译xxx.c文件,默认输出可执行文件a.out gcc xxx.c -o xxx //输出可命名的执行文件 C语言程序编译的四个阶段1编译预处理:处理伪指令(头文件\宏\条件编译) gcc -E xxx.c -o xxx.i 2编译:将代码编译为汇
Linux vim编辑器 vim的安装apt install vimvim打开文件操作vim filename (+num) //直接打开名字为filename的文件,光标显示的的num行vim的配置文件 /root/.vimrc、/etc/.vimrcvim的三种模式命令模式:使用 Vim 编辑文件时,默认处于命令模式。在此模式下,可以使用上、下、左、右键或者 k、j、h、l 命令进行光标移动,还可以对文件内容进行复制、粘贴、替换、删除等操作。(n) yy Y (...
2.3 进程的同步与互斥 目录一、进程同步与互斥的基本概念二、进程互斥访问临界区算法1 单标志法2 双标志先检查法3 双标志后检查法4 Peterson算法三、信号量互斥访问临界区一、进程同步与互斥的基本概念在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了进程同步的概念。我们举一个简单例子帮大家理解这个概念,比如,让系统计算1+2*3,假设系统产生两个进程:一个是加法进程、一个是乘法进程。为了让计算结果是正确的,那么一...
2.2 处理机调度与算法 目录一、调度的概念1 概念2 调度的层次二、调度的时机、切换、过程与方式三、调度算法的基本指标四、典型的调度算法一、调度的概念1 概念当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序, 这就是“调度” 研究的问题。在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。处理机调度,就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进...
2.1 进程的概念与详情、线程 目录一、进程的概念和特征1 进程的概念2 进程的特征二、进程的状态与转换三、进程控制1 进程的创建2 进程的终止3 进程的阻塞和唤醒4 进程的切换四、进程的组织1 进程控制块2 程序段3 数据段五、进程的通信1 共享存储2 消息队列3 管道通信六、线程和多线程模型1 线程的基本概念2 线程与进程的比较3 线程的属性4 线程的实现方式5 多线程模型一、进程的概念和特征1 进程的概念在多道程序...