随笔分类 - Arm9-Uboot/裸机驱动
arm9_u-boot-2012.4.1分析
摘要:u-boot启动方式: 1.设置CPU为管理者模式 2.关看门狗,关中断, 设置时钟频率 3.关MMU,初始各个bank 4.进入board_init_f()函数 (初始化定时器,GPIO,串口等,划分内存区域: 清空gd指向的结构体、通过init_sequence函数数组,来初始化各个函数以及逐步
阅读全文
arm9_uboot启动内核
摘要:在u-boot-1.1.6/common/main.c中的main_loop中 在u-boot-1.1.6/common/cmd_nand.c中 在u-boot-1.1.6/common/cmd_bootm.c中image_header_t *hdr = &header; image_header_
阅读全文
arm9_uboot添加命令
摘要:串口接收到数据,并传递给run_command()函数,run_command()函数调用common/command.c中实现的find_cmd()函数在u_boot_list段内查找命令,并返回cmd_tbl_t结构。然后run_command()函数使用返回的cmd_tbl_t结构中的函数指针
阅读全文
arm9_uboot_分析源码
摘要:第一阶段: 1.硬件设备初始化:将CPU设为SVC模式,关闭开门狗,设置时钟,关闭MMU,Cache(在u-boot-1.1.6/cpu/arm920t/start.s中定义) 2.准备ram:设置存储控制器(在u-boot-1.1.6/board/100ask24x0/lowlevel.s中实现)
阅读全文
arm9_uboot_Makefile结构分析
摘要:1.解压缩 tar xjf u-boot-1.1.6.tar.bz2 2.打补丁 patch -p1 < ../u-boot-1.1.6_jz2440.patch 3.配置 make 100ask24x0_config,下面为Makefile unconfig: #清楚配置信息 @rm -f $(o
阅读全文
arm9_LCD
摘要:其实LCD主要用途就是用来显示数据,那么数据的来源和其传输方式就是主要关注点了;做过一个项目是显示红外热像图,通过pico384获取原始图像数据,它会将数据通过一条串行线输出出来,然后通过串行转并行芯片把数据以14路并行GPIF设置好的时序传给cypress,此芯片再通过usb接口传给上位机显示,这
阅读全文
arm9_NANDFlash
摘要:其实nand flash和nor flash的区别已经没什么好说的了,这里单说在arm9里的启动方式:由于nor有自己独立的地址线和数据线,可以直接运行程序;但nand地址数据公用,启动时cpu只会拿前4KB数据去sram运行,所以对于大于4KB的程序,就要考虑如何完整的实现程序了?即将4KB之后的
阅读全文
arm9_MMU
摘要:MMU:负责虚拟地址到物理地址的映射,提供硬件机制的内存访问权限检查;前者使得多个用户进程都拥有自己的独立地址空间,后者可以保护每个进程所用内存不会被其他进程破坏 页表:由一个个条目(描述符)组成,每个条目存储了一段虚拟地址对应的物理地址及访问权限,或下一级页表的地址 TLB:对于二级页表需要访问3
阅读全文
arm9_存储控制器
摘要:1.作为stm32f103VET6来讲,有4G的寻址空间;ram:64KB; rom:512KB; 内部寄存器:若干;可从flash,ram,系统存储器启动 2.作为S3C2440来讲,理论上也有4G的寻址空间;存储控制器可访问8个大小为128MB的BANK;内部寄存器:若干;可从norflash和
阅读全文
arm9_GPIO
摘要:1.首先进入嵌入式领域是通过stm32,算是入门机的嵌入式的硬件;接着接触了一些实时操作系统,当然linux早些时间都有接触过,但都只知道是什么,不知道究竟能干什么?所以刚踏入工作,之余,为了不消极kill time,也算进一步窥探嵌入式世界里究竟是是什么东西在吸引着无数的人,继续写博客记录一些学习
阅读全文