摘要: 进程间的通讯 进程间为什么需要通讯? 共享数据、数据传输、消息通知、进程控制 进程间的通讯有哪些类型? 首先,联系前面讲过的知识,进程之间的用户地址空间是相互独立的,不能进行互相访问,但是,内核空间却是共享的,所以进程间的通信要通过内核。 这里以Linux为例,介绍几种常见的Linux进程间的通讯方 阅读全文
posted @ 2021-12-04 19:51 iron2222 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一个不牵涉硬件的字符驱动——HelloWorld! 写在前面: 这里会简单的告诉你一个驱动程序的框架,整个流程记住两个字就好——借鉴。人们接收知识最快的方式,不是看书思考,而是观察模仿(或者说实践也可以)。 功能要求: 驱动中可以实现open,write,read,release APP调用writ 阅读全文
posted @ 2021-12-03 21:56 iron2222 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 从LED驱动程序中看简单驱动编程思想与框架 写在前面: 上次写过一个不牵涉硬件的helloworld简单驱动程序,今天来一个涉及硬件的相对来说比较简单的LED驱动,并对驱动的编程思想,简述自己的看法与见解。为什么选LED呢?因为我是点灯工程师啊!不点灯点什么。 为什么要有驱动程序? 首先我们要明白, 阅读全文
posted @ 2021-12-03 21:56 iron2222 阅读(183) 评论(0) 推荐(0) 编辑
摘要: GPIO输入驱动实验-按键控制 写在前面: 和beep实验一样,在已有的工程框架上加功能就行了,冲!!! 对了这次会对gpio的操作编写成一个函数集合,方便调用,大家留意。 1、bsp下新建key、gpio文件夹 首先我们先来搞一个gpio的操作集合函数,同样的来一对CP:bsp_gpio.h、bs 阅读全文
posted @ 2021-12-03 21:55 iron2222 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 有没有一个比较通用的makefile呢? 写在前面: 这个通用mkaefile文档,来源于正电原子学习板中提到的一种,当然这不代表这个就是最合适的,这只是我在学习过程中遇到的文档中,觉得最厉害的一个。 重点还是以学习为主,学学一般的makefile文件是怎么写的,以及makefile的基础知识。 上 阅读全文
posted @ 2021-12-03 21:54 iron2222 阅读(102) 评论(0) 推荐(0) 编辑
摘要: beep蜂鸣器实验,来告诉你模块化、工程化编程的好处! 写在前面: 上接前面关于BSP的博文,在那篇博文里我们搭建起了一个‘麻雀虽小,五脏俱全’的工程框架,现在框架已经搭起来了,这样当你想添加新功能时,方便的一批。闲话少说,直接搞起来! 正文 1、第一步看图 肯定还是先看电路图,找到你要调用的IO口 阅读全文
posted @ 2021-12-03 21:54 iron2222 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 一个大的工程文件是怎么建起来的?(BSP) 重点内容简介: 工程目录框架? 每个目录下要包含哪一类的文件? 针对这种有好多个文件夹的工程,makefile该怎么写? 1、什么是BSP? 板级支持包(BSP)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作 阅读全文
posted @ 2021-12-03 21:53 iron2222 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 如何利用官方SDK文件来辅助开发 1.首先要先知道什么是SDK? SDK或者SDK包指的是,半导体厂商针对自己研发的芯片,同步推出的一个软件开发工具包。 它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。 SDK还经常包括示例代码、支持性 阅读全文
posted @ 2021-12-03 21:50 iron2222 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 汇编语言点亮LED 拿到一款全新的芯片,第一个要做的事情的就是驱动其 GPIO,控制其 GPIO 输出高低电平。 GPIO口是IO口的一个功能之一。 一、接下来的步骤离不开芯片手册: 1.使能所有时钟,GPIO的所有时钟 2.IO配置,复用GPIO 3.设置IO寄存器 配置IO 的上下拉、速度等。 阅读全文
posted @ 2021-12-03 21:48 iron2222 阅读(146) 评论(0) 推荐(0) 编辑
摘要: C语言LED实验 1、汇编激活CPU 首先要明白对于没有系统开发板(也就是裸机)来说,是没办法直接对C进行识别。所以需要一段汇编语言,来配置CPU的资源,选择CPU运行模式,初始化指针位置。 代码如下: .global _start /* 全局标号 */ _start: /*进入SVC模式 */ m 阅读全文
posted @ 2021-12-03 21:47 iron2222 阅读(217) 评论(0) 推荐(0) 编辑