摘要: 1 驱动分类 常规分类:字符设备、块设备、网络设备 字符设备:一种按字节来访问的设备,字符驱动负责驱动字符设备,这样的驱动通常实现open、close、read和write系统调用。如串口、LED、按键; 块设备:以块(一般为512字节)为最小传输单位的设备,块设备不能按字节处理数据。在Linux系 阅读全文
posted @ 2019-04-10 09:07 dongry 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 终止进程 _exit 立即终止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid 设置指定进程组标志号 getpgrp 获取 阅读全文
posted @ 2019-04-04 08:24 dongry 阅读(3635) 评论(0) 推荐(0) 编辑
摘要: 内核链表是双向循环链表;链表结点基本构成:数据、前向指针、后向指针;不同于传统链表,前向指针和后向指针都是指向指针域没有指向结点中的数据,想要读取一个结点的数据是通过该结点的指针域拿到结点的数据; 1 分析遍历链表与取出结点 源代码 1 关键字:typeof 1 将参数写入typeof有两种方式:表 阅读全文
posted @ 2019-04-02 17:18 dongry 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1 首先给虚拟机扩容 虚拟机->设置->硬盘->实用程序->扩展磁盘容量 2 启动Ubuntu系统 2.1 打开终端安装gparted,sudo apt-get install gparted;输入sudo gparted打开gparted。 2.2 依次删除"/dev/sda2"、"/dev/sd 阅读全文
posted @ 2019-03-29 14:07 dongry 阅读(5787) 评论(0) 推荐(0) 编辑
摘要: 1 内核模块 Linux内核的整体结构非常庞大,其包含的组件也非常多,如果把所有的组件都编译进内核文件,即:zImage或bzImage,但这样会导致一个问题:占用内存过多。 所以就需要动态的添加某些组件,这些组件就是内核模块。特点:模块本身并不被编译到内核文件(zImage或bzImage);可以 阅读全文
posted @ 2019-03-27 14:47 dongry 阅读(642) 评论(0) 推荐(1) 编辑
摘要: 1 嵌入式系统组成 BootLoader、内核、根目录文件系统 2 BootLoader uboot是嵌入式启动程序BootLoader的业界老大,所以一般都用uboot。 操作之前先make distclean以前的配置项。 2.1 配置uboot Uboot编译后要告诉映像运行在什么系统体系上。 阅读全文
posted @ 2019-03-27 09:15 dongry 阅读(1108) 评论(0) 推荐(0) 编辑
摘要: 1 Uboot启动流程 2 程序入口的查看 (1)首先在uboot文件夹中找到Makefile文件,搜索smdk2440查看配置情况; (2)在uboot文件夹中->board文件夹->samsung文件夹->smdk2440文件夹->u-boot.lds; 在u-boot.lds中找到start文 阅读全文
posted @ 2019-03-02 23:01 dongry 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 1.编写程序代码(以SDRAM为例) 1.1 编写head.s汇编文件 1.2 编写led.c C程序文件 1.3 编写makefile文件 注:必须用all否则编译会报错 2.编译 打开eclipse->project->build all 没有错误可以进行下一步 3.连接JLink 4.配置ec 阅读全文
posted @ 2019-02-27 11:41 dongry 阅读(1344) 评论(0) 推荐(0) 编辑
摘要: 1 系统组成 BootLoader:操作系统引导程序 内核: 文件系统:应用程序(用户开发的、网上下载的) 2 安装USB驱动 3 查看驱动是否启动 出现usb dnw说明驱动已经启动 4 Linux系统安装 首先SEGGER J-FLASH ARM将引导安装程序下载到NOR flash;(引导安装 阅读全文
posted @ 2019-02-19 09:36 dongry 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 1.设备管理概述 1.1 I/O设备的类型(有输入输出交换的设备) 按设备的所属关系可以将I/O设备分为两类: (1)系统设备 系统设备是在系统生成时已登记于系统中的标准设备,属于系统的基本配置。 (2)用户设备(临时安装的设备如U盘) 用户设备是在系统生成时未登记在系统中的非标准设备。 按设备的信 阅读全文
posted @ 2019-02-13 11:18 dongry 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 由于宿主对象的多样性,为适应不同的要求,无论在硬件方面还是在软件方面,嵌入式系统必须具有很强的可裁剪性,并且便于修改。 所谓操作系统的可裁剪性,就是一个规模大且功能齐全的操作系统,在结构上保证了用户可在其中有选择地保留某些模块,而删减掉一些模块的性能。目标系统设计者的这个做法,也常常叫做对操作系统进 阅读全文
posted @ 2019-02-12 15:20 dongry 阅读(1700) 评论(0) 推荐(0) 编辑
摘要: 一 arm-linux-gcc 常用参数 https://www.cnblogs.com/zhangpengshou/p/3587751.html 二 arm-linux-objdump常用参数 https://blog.csdn.net/freeplayer/article/details/451 阅读全文
posted @ 2019-01-19 22:56 dongry 阅读(3925) 评论(0) 推荐(0) 编辑
摘要: ARM汇编:(APCS过程调用标准) 汇编:用助记符(如$ # .)代替操作码,用地址符号或标签代替地址码的编程语言 特点: 优点:可以直接访问硬件,目标代码简短,执行速度快(CPU启动时需要直接操作,所以用汇编) 缺点:可移植性差,可阅读性差(不同平台指令有差别) ARM指令集特点 1 指令码长度 阅读全文
posted @ 2019-01-18 18:55 dongry 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 1. TFT-LCD(Thin Film Transistor Liquid Crystal Display)[薄膜晶体管液晶显示器] 2. 液晶 物质在熔融状态或在溶液状态下虽然获得了液体物质的流动性,但在材料内部仍然保留有分子排列的一维或二维有序,在物理性质上表现出各向异性。这种兼有晶体和液体部 阅读全文
posted @ 2019-01-09 18:57 dongry 阅读(1155) 评论(0) 推荐(0) 编辑
摘要: C或者C++基本上是按照从上到下、从左至右的顺序来读。但对于指针声明从某种意义上来讲是倒着的。 C或者C++中每个声明都由两部分组成:零个或者多个声明说明符,一个或者多个用逗号隔开的声明符。 const 1.类型说明符表明声明符ID的类型;其他说明符提供直接适用于这个声明符ID的一些类型无关的信息。 阅读全文
posted @ 2019-01-08 17:25 dongry 阅读(487) 评论(0) 推荐(0) 编辑