一.NAND Flash介绍和NAND Flash控制器的使用 NAND Flash在嵌入式系统中的作用,相当于PC上的硬盘 常见的Flash有NOR Flash和NAND Flash,NOR Flash上进行读取的效率非常高,但是擦除和写操作的效率很低,容量一般比较小:NAND Flash进行擦除和写操作的效率更高,并且容量更大.一般NOR Flash用于存储程序,NAND Flash用于存储数据. 1)NAND Flash的物理结构 笔者用的开发板上NAND Flash型号是K9F1G08,…
嵌入式Linux学习分五个阶段 第一阶段: 01嵌入式环境搭建初期 02C语言语法概述 03C语言内存操作 04c语言函数 05linux基础 06gun基础 第二阶段: 01-linux之io系统编程 02-linux进程间通信 03-linux多线程 04-linux网络编程基础 第三阶段: 01-ARM开发板基础知识 02-ARM汇编语言 03-ARM硬件开发基础 04-ARM Bootloader开发 05-ARM硬件接口开发 第四阶段: 01-移植搭建 02-uboot.UART.DD…
一  嵌入式系统定义: 应用于特定环境的硬件体系. 二  两样非常重要的能力: 1.  掌握各种新概念的能力 2.  调试的能力( 包括软件, 硬件 ) 三  需要的基础知识: 1.  操作系统理论基础 2.  数据结构 3.  C,C++编程语言 4.  汇编语言 5.  Linux基础能力 6.  单片机基础 四  结构框架: 1.  bootloader( 作用:a. 初始化硬件 b. 引导操作系统 ) 2.  kernel 3.  文件系统 它们都置于flash中. 五  flash六大…
在成功构建了一个能够运行在开发板平台的系统后,下一步就要正式开始应用的开发(这里前提是有一定的C语言基础,对ARM体系的软/硬件,这部分有疑问可能要参考其它教程),根据需求仔细分解任务,可以发现包含的外设有LED,BEEP,RS232,六轴传感(SPI接口),光环境传感器(I2C),音频输出, RTC等,如果按照这个顺序去实现驱动,一定程度其实又回归最初的模块学习的策略,不过既然是从应用的角度,先实现应用框架,来验证是否符合预期,这比测试模块驱动的更重要,也更容易有产出感. 按照这个需求,就可以…
中断是什么? 举个栗子, 系统怎么知道你什么时候插入鼠标这个设备? 可以有两种处理方式: 1. 查询方式: 轮询去检测是否有设备插入; 2. 中断的方式 当鼠标插入这个事件发生时, 置位某个寄存器,告诉CPU去处理这个事件. 对于查询方式, 我们需要一直去监控想要知道的状态, 而中断的处理方式, 使得CPU有空去处理其他的事情, 当插入鼠标这个时间发生时才来处理这个事件, 这样下来, 处理效率会高很多,中断的作用也可见一斑. 下面介绍s3c2440的中断控制器 s3c2440有60个中断源, 这…
SDRAM: 原理图如下:          jz2440 v3开发板上面用的内存芯片为钰创科技公司生产的EM63A165TS,一片内存大小为32MB大小,一共有两块,共64MB的大小. SDRAM接的是BANK 6,所以他的起始地址是 0x30000000. SDRAM的基本寻址关系 SDRAM的存储结构逻辑如上图,  SDRAM内部是一个存储阵列,阵列就如同表格一样,将数据"填进去".和表格的检索原理一样,先指定一个行,再指定一个列,两点确定一个坐标,就可以准确地找到所需要的 单元…
目录 (1).参考资料 (2).QT界面布局实现 (3).数据和操作逻辑 在上一章我们实现了下位机的协议制定,并通过串口通讯工具完成了对设备内外设(LED)的状态修改,下面就要进行上位机软件的实现了(事实上这部分不属于嵌入式Linux的内容,所以只在本章节讲述下上位机实现的流程和思路,后续维护更新不在进行详细说明,不过下位机界面实现肯定还会涉及这些技术),上位机的界面方案一般指在Windows平台的软件界面开发,如UWP,WINFORM/C#, WPF/C#, QT/C++等,如果说我的个人倾向…
1.溢出:两个数相加,如果最高位的进位和此高位的进位不同,则产生溢出. 2.进位和溢出的概念不一样. 3.预取(取得是编译后得到的机器代码)-->译码-->执行 4.ARM的汇编指令长度是确定的,32位. 5.一条汇编指令  条件码(4bit)   操作码    分类码  S(1bit)  目的寄存器(4bit)  源寄存器(4bit)  立即数 (8bit) 6.一般的管脚都有两个寄存器,一个是配置寄存器(决定管脚的工作模式):一个是数据寄存器(决定管脚的高低电平). 7.X86因为寄存器太…
学习记录: 到今天为止ARM裸机开发学习进程:1.2.1-1.2.14 预科班知识Linux介绍学习进程:0.2.1-0.2.6 学习内容笔记: 学习了Linux的开发方式的优劣介绍 学习了常用文件夹命令 ls(list) ls -a 显示所有文件(包括隐藏文件) ls -l 显示所有详细信息 ls -a -l也可以 man(查询命令) man 1 ls(1表示查询命令,ls表示查询的内容) cd(change directory) cd ..代表上一层 cd ../../代表上上层 cd .是…
常用的flash有两种, Norflash和Nandflash, 前几年市场上的产品比较常见的方案时Norflash和Nandflash搭配使用, 因为norflash比较昂贵,相同的容量norflash要贵上很多,.一般要把运行的程序存放在norflash上面, 数据存放在nandflash上面. 其实我有点纳闷,为什么不直接用一块nandflash就解决了? 但这样设计会有一个好处就是nandflash坏了的话,程序还能跑起来, 可以利用软件去做一些动作,对于排查可能会有好处. 其他的时no…