fuzidage
专注嵌入式、linux驱动 、arm裸机研究

导航

 
上一页 1 ··· 8 9 10 11 12 13 14 下一页

2020年5月20日

摘要: ##1.识别norflash 我们知道要识别norflash属性,要让norflash进入cfi模式,然后按照手册上的表格发送一系列的命令就能获取norflash属性。 1)发送命令 那么我们需要实现一个cpu向nor发命令的一个函数nor_cmd()。我们的norflash是16bit位宽的,所以 阅读全文
posted @ 2020-05-20 22:21 fuzidage 阅读(354) 评论(0) 推荐(0) 编辑
 

2020年5月12日

摘要: 前提: norflash初始化正常,能够正常从nor上执行。 cpu总是从0地址读取指令执行程序。当cpu设置成nor启动时,0地址对应nor。cpu从nand启动时,0地址对应sram。 ##1.读取norFlash 我们将板子设为nor启动,那么0地址对应nor,我们先将uboot烧写到nor中 阅读全文
posted @ 2020-05-12 18:05 fuzidage 阅读(661) 评论(0) 推荐(0) 编辑
 

2020年5月9日

摘要: 前面我们了解了 "norFlash的特性和原理" ,那么cpu是如何和nor进行通信的呢?下面开始详细介绍。 1.内存控制器适配norflash 如图是S3C2440的内存控制器的可编程访问周期读写时序,里面的时间参数要根据外部norflash的性能进行配置,这里先列出时间参数的含义: Tacs : 阅读全文
posted @ 2020-05-09 13:56 fuzidage 阅读(747) 评论(0) 推荐(0) 编辑
 

2020年3月11日

摘要: 之前讲过s3c2440时钟体系,看了时钟体系再来看定时器中断会更好的结合运用所学知识点。 S3c2440共有2种定时器: 1.Watchdog看门狗定时器 2.PWM脉冲可调制定时器 下面详细介绍2种定时器的原理,来了解定时器是如何产生定时器中断的。 ##1. Watchdog看门狗定时器 1)Wa 阅读全文
posted @ 2020-03-11 18:05 fuzidage 阅读(769) 评论(0) 推荐(0) 编辑
 

2020年1月16日

摘要: 我们回顾下中断产生前后的处理流程:详见 "异常、中断的原理与流程" 中断前: 中断产生后: 问题案例: 我们想实现一个按键点灯程序,我们知道有以下两种方案: 1.轮询方案:轮询检测按键的电平状态,当检测到被按下后,对应的gpio会拉低,点亮对应的led;(略) 2.中断方案:将按键配置成外部中断源, 阅读全文
posted @ 2020-01-16 17:14 fuzidage 阅读(915) 评论(0) 推荐(0) 编辑
 

2020年1月6日

摘要: swi(软中断) 我们知道arm有7中工作模式,除了usr模式,其他6种都是特权模式。我们知道usr模式无法修改CPSR直接进入其他特权模式,但linux应用程序一般运行在usr模式,既然usr模式权限非常低,是无法直接访问硬件寄存器的,那么它是如何访问硬件的呢? linux应用程序是通过系统调用, 阅读全文
posted @ 2020-01-06 14:01 fuzidage 阅读(542) 评论(0) 推荐(0) 编辑
 

2019年12月29日

摘要: 1._und(未定义指令异常)介绍 我们之前分析过5种异常,那么如何进入未定义指令异常,当然是cpu读取指令发生异常,出现了指令解析异常。 我们先来看下当cpu解析到什么样的指令才会触发未定义指令异常呢? 从上面的arm指令格式中可知,只要指令码属于划线的格式,就属于未定义指令异常。 2.汇编向c函 阅读全文
posted @ 2019-12-29 09:46 fuzidage 阅读(934) 评论(0) 推荐(0) 编辑
 

2019年12月19日

摘要: 1.异常中断概述 在arm架构的处理器中,cpu有7中工作模式,2中工作状态。 1.CPU模式(Mode): 7种Mode: 除了usr/sys,其他5种都是异常模式。我们知道中断属于异常的2中,中断有irq,fiq。 |usr|sys|undefined(und)|Supervisor(svc)| 阅读全文
posted @ 2019-12-19 11:08 fuzidage 阅读(860) 评论(0) 推荐(0) 编辑
 

2019年12月17日

摘要: ##1.代码重定位的改进 用ldr、str代替ldrb, strb加快代码重定位的速度。 前面重定位时,我们使用的是ldrb命令从的Nor Flash读取1字节数据,再用strb命令将1字节数据写到SDRAM里面。 我们2440开发板的Nor Flash是16位,SDRAM是32位。 假设现在需要复 阅读全文
posted @ 2019-12-17 20:31 fuzidage 阅读(408) 评论(0) 推荐(0) 编辑
 

2019年12月16日

摘要: 什么是buildroot Buildroot是Linux平台上一个开源的嵌入式Linux系统自动构建框架。 用来制作根文件系统,我们还要自己去移植一些第三方软件和库,比如 alsa、iperf、mplayer 等等。那么有没有一种傻瓜 式的方法或软件,它不仅包含了 busybox 的功能,而且里面还 阅读全文
posted @ 2019-12-16 15:42 fuzidage 阅读(16585) 评论(1) 推荐(0) 编辑
 
上一页 1 ··· 8 9 10 11 12 13 14 下一页