随笔分类 - Arm嵌入式学习笔记
摘要:驱动程序 一个驱动程序,从上到下,可以分为:应用程序,库,内核,驱动程序。开发人员专注于自己熟悉的部分,对于相邻层,只需要了解其接口即可。 驱动程序框架 驱动程序框架大致分为四层 最底层硬件操作程序 创建并填充结构体 安装函数与卸载函数 修饰安装函数与卸载函数 最底层硬件操作程序 创建并填充结构体
阅读全文
摘要:U-boot的目的是为了启动内核。 整个工作流程具体如下: 环境变量bootcmd中有两个指令: nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0 1. 其中 nand read.jffs2 0x30007FC0 kernel; 一句,就是读出内
阅读全文
摘要:简介 U-Boot(Universal Boot Loader),通用BootLoader,一是可以引导多种操作系统,二是支持多种架构CPU。 教程中是在sourcefoge网站上下载的U-boot-1.1.6源码,进行分析与移植。 结构分析 U-boot-1.1.6有26个子目录,可以简单分为四类
阅读全文
摘要:Bootloader简介: 一个系统要运行之前,需要一段初始化程序,简单理解,这段程序就称之为BootLoader。 一个Linux系统从软件角度,会分为四个层次。 引导加载程序:即BootLoader。 Linux内核:一些启动参数,一般是默认或由BootLoader传递给它。 文件系统 用户应用
阅读全文
摘要:简单来说,依然只是设置好几个寄存器即可。 按步骤分别是: 1. 设置引脚相关寄存器 GPxCON、GPxUP 2. 设置波特率寄存器 UBRDIVx 3. 设置传输格式 ULCONx 4. 设置接受发送方式以及时钟源 UCONx 5. 设置流控和FIFO UFCONx UMCONx 相关配置代码如下
阅读全文
摘要:言简意赅版本: 开启MPLL MPLLCON参照官方提供参数配置即可。 详细情况 开发板在没有开启时钟前,整个开发板全靠一个12MHz的晶振提供频率来运行,当MPLLCON存入初值,并开始生效后,S3C2440A可以正常工作在400MHz下。开发板的主板上的外设和CPU也有一个频率限度,ARM920
阅读全文
摘要:简介 ARM体系中,CPU有七种工作模式: 模式的切换可以通过软件控制,即改写CPSR(current program status register)寄存器。也可以通过发生异常(中断是异常的一种),硬件触发进入相应模式。 关于不同模式 不同的模式,拥有的一些不同的寄存器。 图中,有三角标号的即是自
阅读全文
摘要:一个C文件要变成可执行的文件,需要经过四个过程 预处理(处理以“#”为开头的命令) 编译(将.c .i等文件翻译成汇编代码) 汇编(将汇编代码翻译成机器代码) 连接(将生成的多个目标文件(.o文件)连接起来,生成可执行文件) 主要用到的工具叫做arm-linux-gcc,arm-linux-ld,本
阅读全文
摘要:看的时候不少是略懵的,大概概念基本是懂的,倒也记一下吧。 简述 关于NandFlash的几个特点: 1. 没有独立地址线 :其他如SDRAM、网卡DM9000之类的外设都是与2440统一编址的,他们会接地址线ADDR。但NandFlash芯片没有独立的地址线,他只有一个8位的并行口,接的是IO口。所
阅读全文
摘要:简述 教材中提到,MMU主要有两大功能:一为权限管理,二为地址映射。具体摘录几段文字。供参考。 MMU映射地址具体流程 关于虚拟映射 既然虚拟地址最终要转换为物理地址,那么为何还需要虚拟地址呢?这有以下几个原因: 1. 虚拟地址还提供了权限检查功能:在虚拟地址被转换为物理地址访问设备之前,要先进行权
阅读全文
摘要:简介 S3C2440要访问外部设备,需要通过存储控制器。 具有以下特性(简要摘录几点): 1.S3C2440对外引出ADDR0~ADDR26,27条地址线,即空间有128MB。 2.同时,具有八根片选信号nGCS0~nGCS7,对应BANK0~BANK7 3.BANK0~BANK5可外接ROM,SR
阅读全文

浙公网安备 33010602011771号