Linux之uboot分析与移植20160601】的更多相关文章

说一下uboot分析与移植: 1.下载.建立source insight工程.编译.烧写.如果无运行分析原因 tar xjf u-boot-2012.04.01.tar.bz2 cd u-boot-2012.04.01 make smdk2410_config make 2. 分析u-boot: 通过链接命令分析组成文件.阅读代码分析启动过程 a. 初始化硬件:关看门狗.设置时钟.设置SDRAM.初始化NAND FLASH b. 如果bootloader比较大,要把它重定位到SDRAM c. 把…
18.13.1 使用JLink烧写Nor Flash JLink只支持烧写NOR Flash,不支持烧写Nand Flash. 1.准备工作:JLink的USB口接到电脑上,JLink的JTAG口用排线和开发板的JTAG口相连,开发板设为NorFlash启动并上电 2.启动J-Flash. 3.File>Open Project,找到s3c2440.jflash 4.Target>Connect:显示连接成功 5. File>Open data file:选择需要烧写的Uboot.bin…
我们要生成u-boot.bin文件,它首先依赖于很多.o文件和.lds链接脚本文件 我们只要找到对应的.lds链接脚本文件就可以分析u-boot的启动流程. 1.打开u-boot-1.1.6\u-boot-1.1.6\board\smdk2410\ 打开链接脚本boot.lds 看看: OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") /*OUTPUT_F…
原文网址:http://blog.csdn.net/jianchi88/article/details/7061089  一.Boot Loader 概念 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader). 嵌入式软件在Flash存储器中的分布图 二.为什么需要BootLoader? BootLoader…
一来到void start_armboot (void)函数,马上出现两个很重要的数据结构gd_t和bd_t 1.gd_t : global data数据结构定义,位于文件 include/asm-arm/global_data.h.其成员主要是一些全局的系统初始化参数. [cpp] view plain? typedef struct  global_data { bd_t        *bd;      // struct board_info<span style="font-fa…
一.Boot Loader 概念 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader). 嵌入式软件在Flash存储器中的分布图 二.为什么需要BootLoader? BootLoader的终极任务是引导操作系统,所谓引导操作系统,就是启动内核,在启动内核之前所需要的环境(如初始化sdram,设置cpu模式等…
-- --------------------------------------------------------------------------------------- (一)友善之臂介绍: README for FriendlyARM Tiny4412 说明:本u-boot源代码由三星原厂提供,并由友善之臂修改移植,以适用于Tiny4412开发板平台.仅供嵌入式爱好者学习研究之用,友善之臂不对此提供任何技术支持和维护. -------------------------------…
4.Bootloader:u-boot.2009.08分析与移植4.1:分析u-boot根文件夹下的Makefile,能够看到uboot编译的顺序例如以下,由此可知编译运行的第一个文件是cpu/$(CPU)/start.o,又因为是基于 arm920t架构的,所以去分析cpu/arm920t/start.S源文件. # U-Boot objects....order is important (i.e. start must be first)OBJS  = cpu/$(CPU)/start.o…
说一下LINUX内核的分析与启动: 一. 内核启动流程,据此配置内核(机器ID) 1.1 修改Makefile 1.2 选择默认配置 : make s3c2410_defconfig 1.3 make uImage 步骤1: 在UBOOT里: set machid 16a   // smdk2440  mach-smdk2440.c 或 set machid 7CF   // mini2440  mach-mini2440.c 步骤2: arch\arm\mach-s3c24xx\mach-sm…
u-boot分析(十一) 通过前面十篇博文,我们已经完成了对BL1阶段的分析,通过这些分析相信我们对u-boot已经有了一个比较深入的认识,在BL2阶段大部分是对外设的初始化,并且有的我们已经分析过,在这篇博文我打算对BL1阶段没有分析到的重要外设进行简单分析,并结束对u-boot的分析,同时对后面自己的博文进行简单的规划,希望有兴趣的朋友跟我一块学习和研究嵌入式. 今天我们会分析到以下内容: 1.      MMU分析(内容出自我以前的博客) 2.      裸机开发总结 3.      后期…
上片博文总结出了u-boot的工作流程,今天我们来分析,u-boot的两个比较重要的内容 1.        U-boot命令的实现 2.        U-boot如何启动内核 l  命令实现 我们的u-boot可以解析输入的命令,比如print.setenv.saveenv等命令,我们下来对其的实现进行分析. 我们昨天分析到BL2最后停在了main_loop处,那么我们输入的命令肯定也是在这个函数中实现的,我们找到该函数,在main_loop函数中run_command函数很容易引起我们的关…
/******************************************************************* * I.MX6 新版u-boot分析 * 说明: * 因为一些原因,需要去分析最新版的u-boot,但是跟老版的u-boot * 在架构上已经有很大区别,已经和Linux kernel很接近了. * * 2016-8-22 深圳 南山平山村 曾剑锋 ********************************************************…
<Unix/Linux网络日志分析与流量监控>获2015年度最受读者喜爱的IT图书奖.刊登在<中华读书报>( 2015年01月28日 19 版) 我的2015年新作刊登在<中华读书报>( 2015年01月28日 19 版) 原文下载:http://epaper.gmw.cn/zhdsb/images/2015-01/28/19/2015012819_pdf.pdf 这3本原创Linux图书,全部收录于中国科学院图书馆.国图以及211.985高校图书馆,广获读者好评,在当…
目录 1. 初始化 2. hci部分 Linux提供了对Bluetooth的支持,核心代码位于net/bluetooth 1. 初始化 主要由subsys_initcall调用函数bt_init()来完成 bt_init() -> bt_sysfs_init() -> sock_register(&bt_sock_family_ops) -> hci_sock_init() -> l2cap_init() -> sco_init() bt_sock_family_op…
linux源码分析 这里使用的linux版本是4.8,x86体系. 这篇是 http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html 的学习笔记. linux的启动过程有点像是小鱼吃大鱼,最后吃成一个胖子. 计算机中的PC寄存器是用来指示下个执行程序.最开始的时候,pc寄存器都是指向0xfffffff0.这个程序是指向BIOS的POST程序的.POST全称是Power On Self Test,意思是加点自检.过程包括内存检查,系…
Linux网络地址转换分析 地址转换用来改变源/目的端口,是netfilter的一部分,也是通过hook点上注册相应的结构来工作. Nat注册的hook点和conntrack相同,只是优先级不同,数据包进入netfilter之后先经过conntrack,再经过nat. 而在数据包离开netfilter之前先经过nat,再经过conntrack. 在ip_conntrack结构中有为nat定义的一个nat结构,为什么把这个结构放在ip_conntrack里呢. 简单的说,对于非初始化连接的数据包,…
linux串口驱动分析 硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作.UART 使用系统时钟能够支持最高 115.2Kbps 的波特率.每一个 UART 通道对于接收器和发送器包含了 2 个 64 位的 FIFO. 寄存器 名称 地址 在linux中的描写叙述 (2410 和 2440 处理器对内存地址映射关系同样) UART 线性控制寄存器(ULCONn) ULC…
linux 3.4.103 内核移植到 S3C6410 开发板 这个星期差点儿就搭在这里面了,一開始感觉非常不值得,移植这样的浪费时间的事情.想立刻搞定,然后安安静静看书 & coding. 坑爹的事情就是一个多星期的时间搭进去了,还是没成功. 我把我的移植失败的经验留下来做为笔记,为下次做准备.也让和我一起做移植的道友少走弯路.大家一起共同分享经验,营造更好的开发环境. 查了非常多资料,在此谢谢那些bloger, thanks for your spirit of sharing. 一. 从官…
基于Petri网的工作流分析和移植 一.前言 在实际应用场景,包括PEC的订单流程从下订单到订单派送一直到订单完成都是按照一系列预先规定好的工作流策略进行的. 通常情况下如果是采用面向过程的编程方法,我们采用的方式无非就是判断当前的工作流状态以及操作步骤来选择工作流分支继续下一步,如果整个工作流从起始到结束所执行的步骤不多的话,采用此方式相当简便,但如果步骤一多起来,或者分支太多以及需要判断的或者切换的状态太多的时候,很容易出错,或者说在原有的工作流分支上新增一个操作步骤,则改起代码来会非常繁琐…
输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分析很有意义. 一.input子系统知识点 完整的input子系统分析包括以下几方面: 1) 软件层次 2) 输入子系统分层(input_handler,input_core, input_device) 3) 输入设备(TS)驱动开发 4) evdev handler分析 5) input设备模型视…
关键词:eMMC boot.PARTITION_CONFIG.force_ro等. 1. eMMC的分区 大部分eMMC都有类似如下的分区,其中BOOT.RPMB和UDA一般是默认存在的,gpp分区需要手动创建. BOOT主要是为了支持从eMMC启动系统而设计的:RPMB即Replay Protected Memory Block简称,通常用来保存安全线管的数据:GPP主要用于存储系统或者用户数据. UDA通常会进行再分区,然后根据不同目的存放相关数据,或者格式化成不同文件系统. 2. Linu…
Linux系统IO分析工具之iotstat常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.安装iostat [root@flume115 ~]# yum -y install sysstat 2>.查看iostat的帮助信息 [root@flume115 ~]# man iostat 3>.查看部分cpu状态信息 [root@flume115 ~]# iostat -c 4>.某些使用block为单位的列强制使用Kilobytes为单位 [ro…
  Linux系统IO分析工具之iotop常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的util),但是无法快速的定位到IO负载的来源进程和来源文件导致无法进行相应的策略来解决问题. Windows操作系统可以通过鲁大师等硬盘检测工具来查看硬盘读写速度,那么linux下测试硬盘IO读写情况怎么看?iotop是linux系统下测试硬盘IO读写的工具,简单的说,iotop是一个用来监视磁盘…
转自:http://www.itwendao.com/article/detail/404132.html 目录(?)[-] 一Core Dump核心转存 二Linux程序地址分析 一Core Dump核心转存 二Linux程序地址分析 Linux应用程序运行出现错误,有时候并不会马上就体现出来.-_-可能是由于错误的条件还没触发把. 但是发生的错误应该在哪里查找呢?—这时候,我们的Core Dump就派上用场了. 一.Core Dump——核心转存 定义: Core Dump又叫核心转存.当程…
Linux内核源代码分析方法   一.内核源代码之我见 Linux内核代码的庞大令不少人"望而生畏",也正由于如此,使得人们对Linux的了解仅处于泛泛的层次.假设想透析Linux,深入操作系统的本质,阅读内核源代码是最有效的途径.我们都知道,想成为优秀的程序猿,须要大量的实践和代码的编写.编程固然重要,可是往往仅仅编程的人非常easy把自己局限在自己的知识领域内.假设要扩展自己知识的广度,我们须要多接触其它人编写的代码,尤其是水平比我们更高的人编写的代码.通过这样的途径,我们能够跳出…
linux系统瓶颈分析(精) (2013-09-17 14:22:00)   分类: linux服务器瓶颈分析 1.0 性能监控介绍 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,多数管理员相信看一些相关的"cook book"就 可以实现性能优化,通常通过对内核的一些配置是可以简单的解决问题,但并不适合每个环境,性能优化其实 是对OS 各子系统达到一种平衡的定义,这些子系统包括了: CPU Memory IO Network 这些子系统之间关系是相互彼此依赖的,任何一个高负载都…
/***************************************************************************** * I.MX6 Android 5.1 纯Linux.U-Boot编译 * 说明: * 单纯编译一下Linux内核和U-Boot这部分代码,用于测试用. * * 2017-5-12 台湾 中和区 曾剑锋 *********************************************************************…
u-boot分析(十) 上篇博文我们按照210的启动流程,分析到了初始化nand flash,由于接下来的关闭ABB比较简单所以跳过,所以我们今天按照u-boot的启动流程继续进行分析. 今天我们会用到的文档: 1.        2440芯片手册:http://download.csdn.net/detail/wrjvszq/8358949 2.        6410芯片手册:http://download.csdn.net/detail/wrjvszq/8358965 3.       …
u-boot分析(九) 上篇博文我们按照210的启动流程,分析到了初始化串口,由于接下来的取消存储保护不是很重要,所以我们今天按照u-boot的启动流程对nand flash初始化进行分析. 今天我们会用到的文档: 1.        2440芯片手册:http://download.csdn.net/detail/wrjvszq/8358949 2.        6410芯片手册:http://download.csdn.net/detail/wrjvszq/8358965 3.      …
u-boot分析(八) 上篇博文我们按照210的启动流程,分析到了内存初始化,今天我们继续按照u-boot的启动流程对串口的初始化进行分析. 今天我们会用到的文档: 1.        2440芯片手册:http://download.csdn.net/detail/wrjvszq/8358949 2.        6410芯片手册:http://download.csdn.net/detail/wrjvszq/8358965 3.        210芯片手册:S5PV210_UM_REV1…