随笔分类 -  嵌入式

上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要:LCD初始化1.引脚初始化2.时序初始化VBPD(vertical back porch):表示在一帧图像开始时,垂直同步信号以后的无效的行数VFBD(vertical front porch):表示在一帧图像结束后,垂直同步信号以前的无效的行数VSPW(vertical sync pulse wi... 阅读全文
posted @ 2015-11-19 18:59 盛夏夜 阅读(279) 评论(0) 推荐(0)
摘要:LCD硬件体系1.LCD液晶屏液晶属于一种有机化合物,分子形状为长棒状,在不同的电流作用下,分子会有规律旋转,这样对光线产生一定的控制形成一个像素,而很多像素右可以构成完整的图像。LCD是Liquid Crystal Display的简称。液晶显示器按驱动方式可以分为TFT、GF、STN等种类,其中... 阅读全文
posted @ 2015-11-17 20:21 盛夏夜 阅读(359) 评论(0) 推荐(0)
摘要:初始化DMA控制器1.设置源地址DISRC(0x4B000000)设置为发送数据的源地址,DISRCC0(0x4B0000004)设置为内存AHB总线,目的地址增长2.设置目的地址DIDST0(0x4B00000C)设置为发送数据的目的地址,DIDSTC0设置中断模式为数据减为0,设置串口APH总线... 阅读全文
posted @ 2015-11-17 19:47 盛夏夜 阅读(327) 评论(0) 推荐(0)
摘要:控制台分类1.菜单型控制台,通过选择菜单来执行命令2.解析型控制台,通过输入命令来执行命令printf()、scanf()函数移植1.函数采用变参2.打印信息到串口3.关键在于把变参转换成字符串,相关函数需要从Linux内核或标准C库中移植va_list args;va_start(args, fm... 阅读全文
posted @ 2015-11-16 21:04 盛夏夜 阅读(747) 评论(0) 推荐(0)
摘要:初始化串口1.配置引脚功能在原理图上找到串口引脚,配置成RXD和TXD功能2.设置数据格式ULCON(0x50000000)用来设置数据格式3.设置工作模式在操作系统中,串口一般工作在中断模式或DMA模式,但是在引导中串口一般工作在轮询模式,UCON(0x50000004)用来设置工作模式4.设置波... 阅读全文
posted @ 2015-11-13 15:19 盛夏夜 阅读(305) 评论(0) 推荐(0)
摘要:Nand Flash支持按页写和随机写两种方式,在下面实现的是按页写。闪存在写数据时,只能写入1,不能写入0,所以写函数必须和擦除函数一起使用,并且擦除函数是按块擦除。/*****************************************************************... 阅读全文
posted @ 2015-11-13 09:04 盛夏夜 阅读(305) 评论(0) 推荐(0)
摘要:问题描述: 创建MMU的转换表,在构建每个表项时,基地址指针加上相对偏移,翻译成汇编,偏移被右移了2位,再加上基地址。问题分析: vaddr的高12位是段地址相对于基地址的偏移数,MMU在寻址时会根据vaddr高12位的偏移乘以4变成相对地址来找到表项的偏移地址。所以指针翻译成汇编右移2位表示的... 阅读全文
posted @ 2015-11-12 16:57 盛夏夜 阅读(296) 评论(0) 推荐(0)
摘要:6410按键中断1.初始化中断源(按键)2.初始化中断控制器2.1.设置中断源触发方式EINT0CON0 adr:0x7F008900 val:0b010<<0EINT0CON1 adr:0x7F008904 val:0b010<<82.2.设置服务中断EINT0MASK adr:0x7F00892... 阅读全文
posted @ 2015-11-11 15:06 盛夏夜 阅读(232) 评论(0) 推荐(0)
摘要:程序结构优化1.把不同的功能放到不同的文件里面2.一般在bootloader中不使用MMU,所以关掉MMU按键初始化1.打开开发板的原理图,找到按键2.把对应的GPIO配置成中断,对中断源进行初始化初始化中断控制器1.SUBMASK和MASK必须要保证没有屏蔽中断,GPIO是不属于子中断,所以不用设... 阅读全文
posted @ 2015-11-11 10:26 盛夏夜 阅读(285) 评论(0) 推荐(0)
摘要:NandFlash读数据方式1.页读,读出页中主数据区的所有数据,提供页地址(行地址)2.随机读,读出页中指定的存储单元的数据,提供页地址(行地址)和页内偏移(行地址)代码编写1.根据NandFlash中的读时序图写出工作流程,可以通过在芯片手册中搜索operation找到相关描述2.主要关心的是I... 阅读全文
posted @ 2015-11-10 16:20 盛夏夜 阅读(329) 评论(0) 推荐(0)
摘要:问题描述: 在开机后每次都要关闭防火墙和打开smb服务,来让Windows连接到Linux,重复输入命令很麻烦。问题分析: 通过修改开启启动脚本,自动完成相应命令即可。详细步骤: 1.打开用户开机脚本 vim /etc/rc.local, 2.添加如下信息: setenforce 0 /etc... 阅读全文
posted @ 2015-11-08 12:44 盛夏夜 阅读(259) 评论(0) 推荐(0)
摘要:扮演角色相当于嵌入式设备的硬盘NandFlash分类1.SCL(single level cell):单层式存储2.MLC(multi level cell):多层式存储3.SCL在存储格上只存储一位数据,而MLC则存放两位数据MLC与SLC对比1.价格由于MLC采用了更高密度的存储方式,因此同容量... 阅读全文
posted @ 2015-11-05 19:50 盛夏夜 阅读(411) 评论(0) 推荐(0)
摘要:中断的生命周期1.串口控制器产生事件,送到中断控制器,如果通过中断控制器的过滤,由中断控制器把事件送到CPU核2.中断信号产生(中断源)->中断信号过滤(中断控制器)->中断信号处理(CPU)中断源在中断的生命周期中,中断源的作用是负责产生中断信号。2440支持60个中断源;6410支持64个中断源... 阅读全文
posted @ 2015-11-04 11:03 盛夏夜 阅读(328) 评论(0) 推荐(0)
摘要:MMU配置与使用1.通过点亮LED使用虚拟地址来使用MMU,采用段页映射方式2.任务步骤:1.建立一级页表 2.写入TTB 3.打开MMU代码编写1.虚拟地址的段地址0xA0000000,一级页表的起始地址0x30000000(通常放在内存的起始地址),物理地址的段地址0x560000002.表项的... 阅读全文
posted @ 2015-11-04 10:12 盛夏夜 阅读(873) 评论(0) 推荐(0)
摘要:MMU功能解析1.Memory Management Unit(存储器管理单元)2.两个进程读取同一个地址能读到不同的值。因为进程访问的是虚拟地址,通过MMU转换成不同的物理地址。不同的进程通过MMU有不同的映射规则3.如果MMU没有工作,那么在程序中使用的是物理地址。为避免程序物理地址冲突,在系统... 阅读全文
posted @ 2015-11-03 15:24 盛夏夜 阅读(595) 评论(0) 推荐(0)
摘要:[一跃进入C大门]跳转方式1.相对跳转:b或bl指令,通过计算两个地址之间的差值来给pc赋值相对跳转2.绝对跳转:ldr指令,通过给pc直接赋值,完成绝对跳转代码编写1.在汇编代码中直接使用绝对跳转,跳转到C代码中,然后在C代码中通过点亮LED来验证2.210在跳转到C程序时,需要注意复制代码时,要... 阅读全文
posted @ 2015-11-02 21:41 盛夏夜 阅读(315) 评论(0) 推荐(0)
摘要:BSS段的作用1.变量存储的空间初始化的全局变量:数据段未初始化的全局变量:BSS段局部变量:栈动态分配变量:堆2.为什么要对BSS段初始化未初始化的全局变量在使用时才被赋值,未了避免在使用时忘记赋值,导致使用随机值。由系统工程师在系统启动时,把BBS清零。初始化BSS段找到BSS段起始地址和结束地... 阅读全文
posted @ 2015-11-02 19:25 盛夏夜 阅读(324) 评论(0) 推荐(0)
摘要:栈概念栈是一种具有后进先出性质的数据组织方式。栈底是第一个进栈的数据所处的位置,栈顶是最后一个进栈的数据所处的位置满栈和空栈根据sp指针指向的位置,栈可以分为满栈和空栈:1.满栈,当堆栈指针sp总是指向最后一个压入堆栈的数据2.空栈,当堆栈指针sp总是指向下一个将要放入数据的空位置3.ARM采用满栈... 阅读全文
posted @ 2015-11-02 18:28 盛夏夜 阅读(321) 评论(0) 推荐(0)
摘要:ARM启动流程1.处理器内部RAM的大小有限,不能拷贝全部的Bootloader,所以需要用内部RAM BL1的代码来拷贝BL2的代码到内存中。规范的方式的代码搬移的起点是flash,终点是内存。但是由于nand flash还没有初始化,所以先从内部ram中把BL1搬移到内存中。等到初始化nand ... 阅读全文
posted @ 2015-10-30 16:52 盛夏夜 阅读(202) 评论(0) 推荐(0)
摘要:6410地址空间1.2440地址空间为4GB,分为1GB内部空间和3GB的外设空间,内部空间由8个bank组成。2.6410拥有32位的地址总线,寻址空间为4GB。其中高2GB为保留区,低2GB分为两部分:主存储区(0x00000000~0x6FFFFFFF,1972MB)和外设区(0x700000... 阅读全文
posted @ 2015-10-30 16:00 盛夏夜 阅读(208) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 下一页