11 2015 档案
摘要:TFTP作用用于网络下载,TFTP客户机在TFTP服务器中下载文件。TFTP交换过程1.配置TFTP服务器vim /etc/xinetd.d/tftp2.交换过程客户端发请求包到服务器服务器发数据包到客户段客户端发相应包到服务器TFTP报文格式操作码1 请求报文2 写入报文3 数据报文4 应答报文5...
阅读全文
摘要:以太网通讯在计算机网络中,数据发送的过程就是把数据按照各层协议层层封装的过程。在这个过程中,最终要使用的协议通常是以太网协议(数据链路层协议)。以太网包格式目的MAC地址:接收者的物理地址(6字节)源MAC地址:发送者的物理地址(6字节)类型:高层数据使用的协议类型(2字节)数据:高层的数据(46~...
阅读全文
摘要:移植代码:通过已有的可用的代码修改到新环境下运行。代码编写:初始化网卡1.选中网卡nLAN_CS BWSCON(0x48000000) DW4:01 16bitBANKCON4(0x48000014)(0x0 DM9000_PKT_MAX){ printf("rx length too big!\...
阅读全文
摘要:OSI七层模型应用层、表示层、会话层、传输层、网络层、数据链路层、物理层TCP/IP四层模型应用层、传输层、网络层、网络接口层DM9000硬件结构1.MAC(数据链路层)、MII、PHY(物理层)2.MAC主要负责数据帧的构建、数据差错检测、传输控制等。3.MII是媒体独立接口,在MAC一定情况下,...
阅读全文
摘要:/*********************************************************************名称:touchscreen.c*作者:D*时间:2015.11.23*功能:* 触摸屏驱动,由于MINI2440采用一线触控,而非四线电阻触控所以触摸屏* 驱...
阅读全文
摘要:触摸屏初始化1.设置AD转换时钟ADCCON (1<<14)|(49<<6) PRSCEN使能 PRSCVL ADC=PCLK/(VAL+1)2.设置中断屏蔽2.1.TC中断,当手指接触或移开时会产生的中断2.2.ADC中断,当ADC转换完成后产生的中断使能TC中断,屏蔽ADC中断,通过轮询查看AD...
阅读全文
摘要:LCD初始化1.引脚初始化2.时序初始化VBPD(vertical back porch):表示在一帧图像开始时,垂直同步信号以后的无效的行数VFBD(vertical front porch):表示在一帧图像结束后,垂直同步信号以前的无效的行数VSPW(vertical sync pulse wi...
阅读全文
摘要:LCD硬件体系1.LCD液晶屏液晶属于一种有机化合物,分子形状为长棒状,在不同的电流作用下,分子会有规律旋转,这样对光线产生一定的控制形成一个像素,而很多像素右可以构成完整的图像。LCD是Liquid Crystal Display的简称。液晶显示器按驱动方式可以分为TFT、GF、STN等种类,其中...
阅读全文
摘要:初始化DMA控制器1.设置源地址DISRC(0x4B000000)设置为发送数据的源地址,DISRCC0(0x4B0000004)设置为内存AHB总线,目的地址增长2.设置目的地址DIDST0(0x4B00000C)设置为发送数据的目的地址,DIDSTC0设置中断模式为数据减为0,设置串口APH总线...
阅读全文
摘要:控制台分类1.菜单型控制台,通过选择菜单来执行命令2.解析型控制台,通过输入命令来执行命令printf()、scanf()函数移植1.函数采用变参2.打印信息到串口3.关键在于把变参转换成字符串,相关函数需要从Linux内核或标准C库中移植va_list args;va_start(args, fm...
阅读全文
摘要:初始化串口1.配置引脚功能在原理图上找到串口引脚,配置成RXD和TXD功能2.设置数据格式ULCON(0x50000000)用来设置数据格式3.设置工作模式在操作系统中,串口一般工作在中断模式或DMA模式,但是在引导中串口一般工作在轮询模式,UCON(0x50000004)用来设置工作模式4.设置波...
阅读全文
摘要:Nand Flash支持按页写和随机写两种方式,在下面实现的是按页写。闪存在写数据时,只能写入1,不能写入0,所以写函数必须和擦除函数一起使用,并且擦除函数是按块擦除。/*****************************************************************...
阅读全文
摘要:问题描述: 创建MMU的转换表,在构建每个表项时,基地址指针加上相对偏移,翻译成汇编,偏移被右移了2位,再加上基地址。问题分析: vaddr的高12位是段地址相对于基地址的偏移数,MMU在寻址时会根据vaddr高12位的偏移乘以4变成相对地址来找到表项的偏移地址。所以指针翻译成汇编右移2位表示的...
阅读全文
摘要:6410按键中断1.初始化中断源(按键)2.初始化中断控制器2.1.设置中断源触发方式EINT0CON0 adr:0x7F008900 val:0b010<<0EINT0CON1 adr:0x7F008904 val:0b010<<82.2.设置服务中断EINT0MASK adr:0x7F00892...
阅读全文
摘要:程序结构优化1.把不同的功能放到不同的文件里面2.一般在bootloader中不使用MMU,所以关掉MMU按键初始化1.打开开发板的原理图,找到按键2.把对应的GPIO配置成中断,对中断源进行初始化初始化中断控制器1.SUBMASK和MASK必须要保证没有屏蔽中断,GPIO是不属于子中断,所以不用设...
阅读全文
摘要:NandFlash读数据方式1.页读,读出页中主数据区的所有数据,提供页地址(行地址)2.随机读,读出页中指定的存储单元的数据,提供页地址(行地址)和页内偏移(行地址)代码编写1.根据NandFlash中的读时序图写出工作流程,可以通过在芯片手册中搜索operation找到相关描述2.主要关心的是I...
阅读全文
摘要:问题描述: 在开机后每次都要关闭防火墙和打开smb服务,来让Windows连接到Linux,重复输入命令很麻烦。问题分析: 通过修改开启启动脚本,自动完成相应命令即可。详细步骤: 1.打开用户开机脚本 vim /etc/rc.local, 2.添加如下信息: setenforce 0 /etc...
阅读全文
摘要:扮演角色相当于嵌入式设备的硬盘NandFlash分类1.SCL(single level cell):单层式存储2.MLC(multi level cell):多层式存储3.SCL在存储格上只存储一位数据,而MLC则存放两位数据MLC与SLC对比1.价格由于MLC采用了更高密度的存储方式,因此同容量...
阅读全文
摘要:中断的生命周期1.串口控制器产生事件,送到中断控制器,如果通过中断控制器的过滤,由中断控制器把事件送到CPU核2.中断信号产生(中断源)->中断信号过滤(中断控制器)->中断信号处理(CPU)中断源在中断的生命周期中,中断源的作用是负责产生中断信号。2440支持60个中断源;6410支持64个中断源...
阅读全文
摘要:MMU配置与使用1.通过点亮LED使用虚拟地址来使用MMU,采用段页映射方式2.任务步骤:1.建立一级页表 2.写入TTB 3.打开MMU代码编写1.虚拟地址的段地址0xA0000000,一级页表的起始地址0x30000000(通常放在内存的起始地址),物理地址的段地址0x560000002.表项的...
阅读全文
摘要:MMU功能解析1.Memory Management Unit(存储器管理单元)2.两个进程读取同一个地址能读到不同的值。因为进程访问的是虚拟地址,通过MMU转换成不同的物理地址。不同的进程通过MMU有不同的映射规则3.如果MMU没有工作,那么在程序中使用的是物理地址。为避免程序物理地址冲突,在系统...
阅读全文
摘要:[一跃进入C大门]跳转方式1.相对跳转:b或bl指令,通过计算两个地址之间的差值来给pc赋值相对跳转2.绝对跳转:ldr指令,通过给pc直接赋值,完成绝对跳转代码编写1.在汇编代码中直接使用绝对跳转,跳转到C代码中,然后在C代码中通过点亮LED来验证2.210在跳转到C程序时,需要注意复制代码时,要...
阅读全文
摘要:BSS段的作用1.变量存储的空间初始化的全局变量:数据段未初始化的全局变量:BSS段局部变量:栈动态分配变量:堆2.为什么要对BSS段初始化未初始化的全局变量在使用时才被赋值,未了避免在使用时忘记赋值,导致使用随机值。由系统工程师在系统启动时,把BBS清零。初始化BSS段找到BSS段起始地址和结束地...
阅读全文
摘要:栈概念栈是一种具有后进先出性质的数据组织方式。栈底是第一个进栈的数据所处的位置,栈顶是最后一个进栈的数据所处的位置满栈和空栈根据sp指针指向的位置,栈可以分为满栈和空栈:1.满栈,当堆栈指针sp总是指向最后一个压入堆栈的数据2.空栈,当堆栈指针sp总是指向下一个将要放入数据的空位置3.ARM采用满栈...
阅读全文