基于s5pv210的uboot总结】的更多相关文章

1.启动过程特征总结 (1)第一阶段为汇编阶段.第二阶段为C阶段 (2)第一阶段在SRAM中.第二阶段在DRAM中 (3)第一阶段注重SoC内部.第二阶段注重SoC外部Board内部 2.uboot的第一阶段做了哪些工作 (1)构建异常向量表 (2)设置CPU为SVC模式 (3)关看门狗 (4)开发板供电置锁 (5)时钟初始化 (6)DDR初始化 (7)串口初始化并打印"OK" (8)重定位 (9)建立映射表并开启MMU (10)跳转到第二阶段 3.uboot第二阶段主要是对开发板级别…
基于s5pv210嵌入式linux系统sqlite3数据库移植 1.下载源码 http://www.sqlite.org/download.html 最新源码为3080100 2.解压 tar xvf XXXXX 3.配置编译环境 运行 ./configure –host=你的交叉编译工具的前缀 –prefix=你想编译安装的位置 我的host为arm-none-linux-gnueabi,prefix为/home/linux/sqlit3-arm 运行后会生成Makefile文件. 4.编译并…
基于s5pv210嵌入式系统busybox文件系统移植 1.下载源码 busybox.net/downloads下载最新版的busybox源码,最新源码为1.21.1 2.解压源码文件 tar xvf busybox-1.21.1.tar.bz2 3.进入busybox cd busybox-1.21.1 4.阅读README文件,查看编译步骤 重点阅读上面一段 5.配置源码 make menuconfig 修改编译工具为交叉编译工具 Busybox Settings ---> Build Op…
结尾,基于cygwin对u-boot的处理,很大一部分都是再处理 路径等相关的问题,只有一个涉及到gcc的参数配置. 为了达到顺利编译的目的,使用shell下的部分工具进行处理. 1.sed sed简单说,是一种按照特定处理方式,对指定文件 逐行处理 的脚本程序. $ sed --help 用法: sed [选项]... {脚本(如果没有其他脚本)} [输入文件]... -n, --quiet, --silent 取消自动打印模式空间 -e 脚本, --expression=脚本 添加“脚本”到…
从本文开始,更系统的描述基于cygwin构建u-boot. 之前<痛苦的版本对齐>系列,对于cygwin环境下Sourcery CodeBench,u-boot-1.1.6的构建有侧面的说明,本文主要是对u-boot-2010.09进行说明 一.编译环境 1.cygwin环境参数如下(cygcheck -c),仅截取核心模块. $ cygcheck -c Cygwin Package Information Package Version Status bash - OK binutils -…
基于335X的UBOOT网口驱动分析 一.软硬件平台资料 1.  开发板:创龙AM3359核心板,网口采用RMII形式 2.  UBOOT版本:U-Boot-2016.05,采用FDT和DM. 参考链接: https://blog.csdn.net/hahachenchen789/article/details/53339181 二.网口相关代码位置 1.  网口的PINMUX设置 RMII接口的相关PINMUX在MLO中进行设置,具体的设置代码为 |-board_init_f |-board_…
基于S3C2440的U-BOOT的start.S分析 在了解了ARM相关的汇编指令后,同时结合网上各位大虾的提点开始阅读u-boot的启动代码,现将分析过程记录如下 可执行文件及内存映射 我们可以把可执行文件分为2种情况:存放态和运行态 .存放态:可执行文件经过烧到存储介质上(flash或磁盘)的分布,此时可执行文件通常有2部分组成,代码段和数据段, 代码段又分为可执行代码段 (.text)和只读数据段(.rodata),数据段可以分为初始化数据段(.data)和未初始化代码段(.bss),如下…
我们知道 s5pv210启动方式有非常多种,sd卡和nand flash 启动就是当中的两种,前面我们实现的都是基于sd卡启动,这节我们開始实现从nand flash 启动: 从 NAND 启动 u-boot,须要 BL1 初始化 NAND 控制器,然后从 NAND 拷贝 BL2 到 DDR 内存.这里的BL1 即我们移植的 u-boot-spl.bin,BL2 即我们移植的 u-boot.bin.在 u-boot.bin 中的 NAND 驱动比較大,它包括了非常多功能,而 u-boot-spl…
这节我们实现nand的ecc,保存环境变量到nand flash 中.然后把我们之前的led灯烧写到nand flash 中.开机启动.在 tiny210.h 中定义宏 CONFIG_S5PV210_NAND_HWECC.CONFIG_SYS_NAND_ECCSIZE.CONFIG_SYS_NAND_ECCBYTES CONFIG_SYS_NAND_ECCSIZE 定义了消息长度.即每多少字节进行 1 次 ECC 校验 CONFIG_SYS_NAND_ECCBYTES 定义为 13Byte,将…
在之前我们移植的代码中,都没看到明显的效果,这节我们实现控制台的信息打印. 在上节.我们看到调用 relocate_code 重定位.在 u-boot 的帮助文档 doc/README.arm-relocation 中对重定位有说明. u-boot 为了生成位置无关码,在链接时指定了-pie 选项,这个选项在 u-boot-2014.04/arch/arm/config.mk 中指定: 当使用-pie 选项后.链接器会生成一个修正表(fixup  tables).在终于的二进制文件 u-boot…
最近入手tiny4412的标准板,底板SDK型号为1506.但是因为友善之臂提供的superboot不能进入boot菜单,此时我就不能通过tftp下载内核和通过nfs挂载根文件系统,于是想自己做个uboot,于是想先基于前人的工作先把整个流程整理下,下面是我的具体操作(在此提醒下刚刚入行的兄弟姐妹们,如果是学习,友善之臂开发板已经不适合你们,水军勿扰): 1.安装dnw下载工具 2.解压原生的uboot_tiny4412并打上patch 3.编译uboot 4.制作sd卡启动 5.通过dnw将u…
这里仅介绍流媒体server端的实现思路.及编码注意问题,不会贴代码的详细实现. 直接入正题先介绍一下系统硬件框架: server端连接PC机用VLC播放例如以下图: server端应用程序能够分为图像採集.视频硬件编码压缩.RTP打包发送.三个部分.採用C++语言编程.引入C.C++语言混合共享库的方式实现. 图像採集模块主要负责视频数据的採集.并将採集到的数据暂存到DDR2内存中,作为硬件编码模块的数据源.Linux3.0.8内核下视频採集是基于V4L2(Video for Linux 2)…
init/main.c: asmlinkage void start_kernel(void) { ...... early_irq_init(); init_IRQ(); ...... } early_irq_init()函数有两种实现,一种是基于radix tree,一种是定义静态数组,如果要使用radix tree实现的,那么需要打开SPARSE_IRQ配置选项,由于我对数据结构不了解,所以分析以下静态数组实现方式版本的. /kernel/irq/irqdesc.c struct irq_…
作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 平台介绍 开发环境:win7 64位 + VMware11 + Ubuntu14.04 64位 开发板:tiny4412ADK + S700 + 4GB eMMC + 1G DDR3 工具链:友善之臂提供的 arm-linux-  (gcc version 4.5.1) 要移植的u-boot版本:u-boot-2015-10 参考u-boot版本:友善之臂提供的 u-boot-2010-12…
一.移植环境 虚拟机:ubuntu12.04 uboot源码:u-boot-2008.10.tar.bz2 交叉编译:arm-linux-gcc-4.4.3 简单的记录下编译uboot的过程,要想具体了解uboot的工作原理,可以查看韦东山对uboot这部分的讲解,红色部分为修改部分 二.移植步骤 1.将uboot源码复制到ubuntu下的自己定义的文件夹,并解压tar jxvf u-boot-2008.10.tar.bz2 2.选择要移植的开发板,我们要准备将uboot移植到mini2440上…
接上文,config.mk文件修改后,即使没有.depend也可以正常处理了: 六.错误:gcclib引用错误 完成之前几篇的工作后,程序就可以一直执行了,直到最后生成u-boot, 出现如下错误告警如下: d:/cygwin/arm-2009q1/bin/../lib/\libgcc.a(_dvmd_lnx.o): In function `__aeabi_ldiv0':(.text+0x8): undefined reference to `raise' Makefile:: recipe…
接上文,修改Makefile和config.mk中,.depend相关文件格式后继续编译. 四.tools文件夹的文件编译错误 错误告警如下[多行信息,请使用右侧滚动条查看]: gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /u-boot-2010.09/u-boot-2010.09/include -idirafter /u-boot-2010.09/u-boot-2010.09/include2 -idir…
1,在完成上一节的memory初始化后,接下来在arch/arm/cpu/armv7/start.S的160行:如下图 2,跳转到arch/arm/lib/board.c下的board_init_f函数,如下图: 3,在285行的memset函数,此函数地址在0x3481c8c4,属于在BL2的地址范围.而_start地址在:0x34800000,很明显memset函数超出了BL1的16K的大小范围. 所以必需把BL2搬到DDR中,并且本身跳到DDR中执行BL2中的代码. 4,BL2移到内存中的…
编写按键驱动时,想知道内核是如何管理GPIO的,所以开始追踪代码,中间走了一些弯路,现记录于此. 追踪代码之前,我猜测:第一,这部分代码应该在系统set up阶段执行:第二,GPIO的代码应该在machine或者platform或者vendor相关的目录下.事实证明,第一点是正确的,第二点基本是错误的,因为内核依靠对GPIO的抽象来管理之,这层抽象层给具体的machine留出了一些它们需要是实现的接口,这与其他的设备驱动框架在使用上是很类似的,当然,GPIO也是一种设备啊... ...所以,管理…
作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 平台介绍 开发环境:win7 64位 + VMware11 + Ubuntu14.04 64位 开发板:tiny4412ADK + S700 + 4GB eMMC + 1G DDR3 工具链:友善之臂提供的 arm-linux-  (gcc version 4.5.1) 要移植的u-boot版本:u-boot-2015-10 参考u-boot版本:友善之臂提供的 u-boot-2010-12…
刚刚移植了sqlite3迫切想测试一些,结果将原来在ubuntu系统下写好且测试通过的程序,重新编译就报错,无法找到已定义的函数 这是由于没有使用库或者使用了错误的就.库造成的结果. 正确做法为: arm-none-linux-gnueabi-gcc –o database-test –L 你需要的库文件地址 –I 你需要的头文件的地址 xxx.c –lsqlite3 -L 指定自己的库地址 -I 指定的头文件地址 好了可以使用文件了 如果指定需要的头文件和库.可以分别在-I和-L中指定.…
接上文,修改gcc 的-std标准后,.depend文件处理仍然出现了错误: 五.错误:make中命令报错(sed找不到需要的文件) 错误告警如下: make -C examples/api all ]: 进入目录“/u-boot-2010.09/u-boot-2010.09/examples/api” sed -i 's/d:\//\/cygdrive\/d\//g' .depend sed:无法读取 .depend:No such file or directory ]: *** 没有规则可…
http://www.cnblogs.com/pengdonglin137/archive/2015/12/27/5080645.html…
Tiny210(S5PV210) u-boot移植http://www.microoh.com/bbs/forum.php?mod=viewthread&tid=254&fromuid=6205(出处: 麦可网论坛) 请大家关注原作者南山一梦 一直想开一个帖子,针对课程的Stage4系统移植阶段,把一些在视频课程中没有讲透彻的地方,和大家一起讨论交流一下,今天开一个关于u-boot移植的帖子,分享一些我u-boot移植过程中的笔记和学习心得,全当是抛砖引玉,也希望大家能指出其中的错误,对于…
基于335X平台的UBOOT中交换芯片驱动移植 一.软硬件平台资料 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E6321. 4.参考文章:本博客基于335X的UBOOT网口驱动分析. 二.移植主要步骤 1.准备工作: (1).必须熟悉U-Boot-2016.05中的网口驱动构架,熟悉其中各个网口设备结构体的意义,网口初始化流程.重点详细分析常规基于phydev的驱动初始化的过程…
使用CCS调试基于AM335X的SPL.Uboot 一.开发环境 1.硬件平台:创龙AM3359核心板 2.SDK版本:ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install 3.Uboot版本:u-boot-2016.05-g1051776-v1.4.tar 4.CCS版本:CCS6.2.0.00050_linux-x64.tar 二.开发准备 1.使用虚拟机安装64位 Ubuntu16.04系统. 2.SDK的安装按照创…
简介: 习惯了 用 keil 或者 IAR  一键下载 (烧写) 代码,S5PV210 貌似就不能这么简单用 仿真器的 方式 下载代码了,因此 学习 S5PV210 的第一步就是 学习怎么下载代码,下面就是学习过程.2017年3月13日13:11:45,SUOZHANG. 1.因为我的 电脑是 win7 64位,官方三星  DNW刷机 软件没有 很好的 支持,需要修改 签名设置 一堆等等,打算 用  Linux 系统(虚拟机) Ubuntu 进行 刷机 S5PV210. 2.首先安装 虚拟机(下…
Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有低功耗的的特点,可为移动设备和一般应用提高性能的微处理器解决方案.它集成了ARM CORTEX-A8核心.实现了ARM架构V7且支持外围设备.他的关键功能是“以带有NEON的cpu子系统为基础的arm”,32/32kb i/d缓存,512kb l2缓存,操作频率800hz为1.1v,1ghz为1.2…
实验步骤:(1)准备工作(2)修改顶层Makefile(3)修改falsh 分区(4)配置编译内核 下面以Linux2.6.30.4内核移植到gec2440为例: 一.准备工作:建立工作目录,下载内核源码并解压:linux-2.6.30.4.tar.bz2.步骤如下:Mkdircd /root/build_kerneltar -xvf linux-2.6.30.4.tar.gz cd linux-2.6.30.4解压后会在当前目录下生成一个linux-2.6.30.4 的内核源码目录安装交叉工具…
驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflash或者nandflash:只好用另一块arm9(i.mx283a)来继续学习: 从开发教程上面可知,烧写uboot和Linux是通过各种批处理脚本和exe程序来执行的,称之为固件烧写,然而并没有需要我们选择uboot路径.Linux内核和文件系统的地方.这样的话是不是意味着只能烧写官方默认提供的文件…