从零开始嵌入式

Thinking will not overcome fear but action will.

M3的终极,思想的开端

干货放送,给你介绍俏皮的代码和优秀的编程模型

这篇文章写给M3的工作者们,我会介绍一些不那么死板的用法以及更优秀的编程思想,看完这篇文章你的水平会立刻增加一个百分点。 前言 子曾经曰“M3学习7天就够”,7天以后从事M3开发的人员编写代码的能力都是差不多的。是的,不用怀疑,首席/高级/资深工程师们的代码你也能写出。经验和对项目的认真程度往往决定你能在一家公司走多远。本文的目的是给你介绍一些M3上俏皮的代码和非常优秀的编程模型...

6_以module的方式注册设备

以模块的方式注册设备,这样的模块可自由加载和卸载

也就是module方式注册设备,module方式注册驱动。注意:函数和变量都用static修饰,只在当前文件中生效,避免重名带来的影响。 module注册设备 编写platform_device_hello.c,对应的Makefile只需改下编译输出命名。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2...

5_编写一个Linux驱动模板

编写最简单的驱动模板

准备工作 查看总线的命令: ls /sys/bus 查看注册到虚拟总线的设备的命令: ls /sys/devices/platform 查看设备号(主设备号)的命令: cat /proc/devices 查看杂项设备(主设备号10)设备号的命令: cat /proc/misc 注:/proc 文件系统是一...

4_关于编写驱动那些事

编写驱动前的小实验,将led驱动不编译进内核

本文主要介绍了内核编译前的设置,以及如何将led驱动不编译进内核。 编译器路径设置 在内核源码根目录的Makefile文件中有CROSS_COMPILE定义,在这里更新为自己的编译器地址。 下面截图的窗口标题中有目录路径,为我目前的源码根目录存放地址。 注释:vim中 /关键字 是搜索关键字,回车搜索后按下n是下一个结果,N是上一个结果 强制编译和配置编译 Makef...

3_掌握必要的烧写系统的技能

使用制作好的TF卡或者fastboot进行烧写系统

烧写准备 以下Web文件是一套适配好的最小linux系统,适合2G内存SCP的iTop4412: 文件 类型 注释 Web u-boot-iTOP-4412.bin bootloader uboot 下载 zIm...

2_Linux驱动开发理解

关于驱动该如何理解的内容

可以理解为三层结构 上层:文件系统和应用。 中层:Linux内核。设备驱动嵌入在Linux内核上。 下层:硬件。 对上:Linux设备驱动要给上层提供调用的接口; 对中:Linux设备驱动要注册到Linux内核中(或者挂载在总线); 对下:操作硬件(GPIO,中断IO,PWM,I2C,SPI等); 以上三个,Linux内核均提供了接口函数。 最简Linux驱动 ...

1_ARM Linux开发第一步

学习之前你应该准备的环境

环境 Windows 10 1902 WSL Ubuntu 18.04 准备工作 应用商店安装WSL Ubuntu 18.04后 更改root账户密码:> sudo passwd root 更换更新源到国内源: ...

0_一些程序包的安装和使用

介绍一些基础工具的安装和使用

工具速览 以下是本文介绍的工具: 工具 描述 使用方法 Web SourceInsight3 Windows下的优秀的代码编辑器 安装 使用 下载 install-devel-packages.sh ...