Exynos4412 应用
文章平均质量分 80
zqixiao_09
这个作者很懒,什么都没留下…
展开
-
Binutils工具集 解析
对于嵌入式系统开发,掌握相应的工具至关重要,它能使我们解决问题的效率大大提高。目前,可以说嵌入式系统的开发工具是GNU的天下,因为来自GNU的GCC编译器支持大量的目标处理器。除了GCC,还有一个非常重要的、同样来自于GNU的工具集(toolchain) —— binutils toolchain。这一工具集中存在的一些工具,可以说是我们开发和调试不可缺少的利器。 Binutils中的工具不少原创 2016-03-02 20:59:03 · 19589 阅读 · 0 评论 -
Exynos4412 Uboot 的使用与烧写
Uboot版本:开发板:Exynos4412 本文主要是熟悉U-boot 的使用以及如何将Uboot 烧入Exynos4412。当然在这之前首先必须保证开发板上已经有了U-boot。如果没有,请先烧入一个已经编译好的Uboot.bin,可以利用JTAG或DNW。一、环境搭建 为了方便开发,这里利用网络传输数据,主要用到 tftp 与 nfs。tftp用原创 2016-03-03 19:12:33 · 9306 阅读 · 2 评论 -
mini-uboot 启动过程简单分析
单片机有最小系统,所谓最小系统,就是单片机能正常工作所需要的最少外设。对于Uboot来说,同样有个最小系统,因为Uboot最主要的功能就是引导内核。下面我们通过一个简单的Mini-Uboot来分析Uboot的启动加载过程。(只是分析过程,此Uboot具有引导内核功能) 我们拿到一个工程,想了解它的功能,最方便的就是读它的makefile。一、Makefilesinclude原创 2016-03-03 21:13:46 · 4317 阅读 · 2 评论 -
Exynos4412 内核移植(七)—— 内核相关知识补充
一、内核调试方法简单分析1、addr2line: 解决oops错误 a -- oops消息 oops(也称 panic),称程序运行崩溃,程序崩溃后会产生oops消息。应用程序或内核线程的崩溃都会产生oops消息,通常发生oops时,系统不会发生死机,而在终端或日志中打印oops信息。原创 2016-03-07 22:02:49 · 2495 阅读 · 1 评论 -
Exynos4412 Uboot 移植(二)—— Uboot 启动流程分析
U-Boot 属于两阶段的Bootloader,第一阶段的文件为arch/arm/cpu/armv7 /start.S 和 board//lowlevel_init.S,前者是平台相关的,后者是开发板相关的。uboot启动流程分析如下:第一阶段:a -- 设置cpu工作模式为SVC模式b -- 关闭中断,mmu,cachev -- 关看门狗d -- 初始化内存,串口e原创 2016-03-04 22:29:56 · 14815 阅读 · 4 评论 -
Exynos4412 内核移植(六)—— 设备树解析
一、描述 ARM Device Tree起源于OpenFirmware (OF),在过去的Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备、resource、i2c_board_info、spi_board_info以及原创 2016-03-07 22:01:57 · 12696 阅读 · 2 评论 -
Exynos4412 内核移植(五)—— 驱动的移植
驱动程序的动态编译和静态编译原创 2016-03-07 22:01:13 · 5617 阅读 · 1 评论 -
Exynos4412 Uboot 移植(四)—— Uboot引导内核过程分析
bootloader 要想启动内核,可以直接跳到内核的第一个指令处,即内核的起始地址,这样便可以完成内核的启动工作了。但是要想启动内核还需要满足一些条件,如下所示:1、cpu 寄存器设置 * R0 = 0 * R1 = 机器类型 id * R2 = 启动参数在内存中的起始地址2、cpu 模式 * 禁止所有中断 * 必须为SVC(超级用户原创 2016-03-07 12:32:27 · 6500 阅读 · 1 评论 -
Exynos4412 内核移植(二)—— 内核编译过程分析
内核的编译同样是从Makefile 来分析:一、内核源码结构Linux内核文件数目近2万,出去其他架构CPU的相关文件,他们分别位于顶层目录下的17个子目录,各个目录功能独立,下面是常用目录:arch:体系结构相关代码ipc:进程调度相关代码mm:内存管理Documentation:帮助文档net:网络协议lib:库scripts:编译相关脚本工具tools原创 2016-03-07 20:14:25 · 6293 阅读 · 0 评论 -
Exynos4412 内核移植(三)—— 内核启动过程分析
start_kernel()|----printk(linux_baner) // 打印内核版本信息|----setup_arch(comxxxx) //初始化mem_io|----paging_init()|---setup_machine|---lookup_machine_type(汇编) //机器号对应平台 |---paging_init|---devi原创 2016-03-07 21:14:42 · 6182 阅读 · 2 评论 -
Exynos4412 文件系统制作(一)—— 文件系统的启动过程分析
原创 2016-03-07 22:05:09 · 3042 阅读 · 0 评论 -
Exynos4412 内核移植(四)—— MMU 相关知识解析
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多原创 2016-03-07 21:48:04 · 4843 阅读 · 8 评论 -
Exynos4412启动过程分析
学习Exynos4412启动流程前,我们先看看三星4412芯片启动框图:我们从图中可以看到4412内部有64K的ROM和256K SRAM,在ROM中已经固化好了一段代码,当硬件上电后首先运行的就是这段代码,这段代码三星起名为BLO(iROM BOOT 代码)。其作用是初始化SRAM,而SRAM的作用又是初始化DRAM。在图中我们很清楚看到这一个运行过程。1、在芯片的iROM中已经原创 2016-03-03 23:16:32 · 9361 阅读 · 0 评论 -
Exynos4412 所用外存 —— eMMC
Exynos4412所用外存不是原来的Nand Flash 与 Nor Flash,而是eMMC。eMMC是什么呢?和Nand Flash有什么区别呢?一、eMMC概述 eMMC(Embeded MultiMedia Card):它并非是一种全新尺寸的存储卡,而是由MMC协会所订立的内嵌式存储器标准规格,而且还是专门为手机和移动嵌入式产品设计的。eMMC简单来说是一个嵌原创 2016-03-03 22:30:31 · 3788 阅读 · 0 评论 -
Exynos4412 Uboot 编译工具 —— 交叉工具链 arm-linux-gcc 的安装
1、什么是交叉编译?原创 2016-03-02 20:44:46 · 4280 阅读 · 0 评论 -
Exynos4412 所用内存 —— DDR2
一、SDRAM二、DDR三、DDR2四、DDR2的配置原创 2016-03-04 19:08:45 · 2874 阅读 · 0 评论 -
Exynos4412 Uboot 移植(一)—— Uboot 编译流程分析
Uboot 所用版本 u-boot-2013.01 u-boot-2013.01 中有上千文件,要想了解对于某款开发板,使用哪些文件、哪些文件首先执行、可执行文件占用内存的情况,最好的方法就是阅读它的Makefile。根据顶层Readme文件的说明:可以知道如果使用开发板board/,就先执行“make _config”命令进行配置,然后执行“make all”,原创 2016-03-04 21:44:48 · 12660 阅读 · 2 评论 -
Exynos4412 Uboot 移植(三)—— Uboot添加自定义命令
Uboot添加自定义命令:uboot中的命令使用U_BOOT_CMD这个宏声明来注册进系统,链接脚本会把所有的cmd_tbl_t结构体放在相邻的地方。(占坑,后续添加。。。)原创 2016-03-04 22:36:18 · 6025 阅读 · 0 评论 -
Exynos4412 Uboot 移植(五)—— Uboot 移植过程
Uboot 版本:u-boot-2013.01开发板:FS_4412 平台(Exynos4412,可以根据自己的板子修改,只要是4412的过程都是一样的)一、建立自己的平台1、下载源码我们可以在下面这个网站上下载最新的和以前任一版本的ubootftp://ftp.denx.de/pub/u-boot/这里我们使用的是u-boot-2013.012、解压u原创 2016-03-07 14:54:16 · 20386 阅读 · 17 评论 -
Exynos4412 Uboot 移植(六)—— 相关知识补充
一、gd结构体的定义与使用gd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递。分别定义在./include/asm-armgd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递。分别定义在./include/asm-arm/global_data.h和 ./include/asm-arm/u-b原创 2016-03-07 15:46:21 · 3451 阅读 · 0 评论 -
Exynos4412 文件系统制作(三)—— 文件系统移植
busybox原创 2016-03-08 18:37:27 · 3450 阅读 · 0 评论