AM335X启动(转)】的更多相关文章

AM335x启动   参考文件: 1.TI.Reference_Manual_1.pdf http://pan.baidu.com/s/1c1BJNtm 2.TI_AM335X.pdf http://pan.baidu.com/s/1geNOYI3 芯片到uboot启动流程 :ROM → MLO(SPL)→ uboot.img. rom为芯片内部的固化的程序,用户不能修改.内部rom程序流程: Booting的方式可以通过引脚SYSBOOT[15...0]来配置.SYSBoot[15...0]=…
http://blog.chinaunix.net/uid-28458801-id-3486399.html 参考文件: 1,AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual.pdf: 2,am3359.pdf: 1,am335x的cpu上电后,会跳到哪个地址去执行? 答: 芯片到uboot启动流程 :ROM → MLO(SPL)→ uboot.img AM335x 中bootloader被分成了 3 个…
dm3730的启动流程为RBL+X-loader+uboot+uImage分别在片内ROM(fireware),片内SRAM,片外的DDR,片外的DDR. 之所以建立这样一个复杂的启动过程,我个人的理解是.片内ROM和SRAM空间有限,uboot的大小基本达到了200KB 左右,不能放在空间有限的SRAM中(因为SRAM的集成度不高,容量越大体积也越大).于是肯定需要有前期的RAM来帮助完成加载.当然为何不让ROM直接来加载uboot的原因也是如此,因为uboot需要有ddr的环境,而这部分需要…
参考文件: 1.TI.Reference_Manual_1.pdf http://pan.baidu.com/s/1c1BJNtm 2.TI_AM335X.pdf http://pan.baidu.com/s/1geNOYI3 芯片到uboot启动流程 :ROM → MLO(SPL)→ uboot.img. rom为芯片内部的固化的程序,用户不能修改.内部rom程序流程: Booting的方式可以通过引脚SYSBOOT[15...0]来配置.SYSBoot[15...0]=LCD_DATA[15…
链接: http://blog.csdn.net/hudaweikevin/article/details/10376585  作者:David_Hu 启动顺序(针对TI OMA3 EVM) linux一般的启动顺序是: BOOT ROM X-loader U-boot Linux 上电的时候,OMAP设备最开始的BOOT是从CPU内部的BOOT ROM起来,这部分的代码是出厂的时候固化的,不能被改变的.BOOT ROM通过读取外部BOOT pin的配置来寻找第一个外部bootloader.可以…
/* * armboot - Startup Code for OMAP3530/ARM Cortex CPU-core * * Copyright (c) 2004 Texas Instruments <r-woodruff2@ti.com> * * Copyright (c) 2001 Marius Gröger <mag@sysgo.de> * Copyright (c) 2002 Alex Züpke <azu@sysgo.de> * Copyright (c)…
老式的u-boot使用ATAGS的方式启动linux内核,本文使用新式的dtb方式启动内核. 我使用的内核是linux-3.17.2版本,下面开始编译内核. (1) 解压内核 [php] view plaincopy tar jxf linux-3.17.2.tar.bz2 (2)配置linux内核,由于am335x在内核中都归为omap2系列,故可以使用如下命令: [cpp] view plaincopy make ARCH=arm omap2plus_defconfig (3)编译内核: […
1.需求MLO.u-boot.img.uImage.Systemfile 获取MLO.u-boot.img下载U-boot源码,解压获得源码,进入源码目录 cd /home/zyr/Source_code/ tar zxvf u-boot-2016.03.tar.gzcd u-boot-2016.03make arch=arm CROSS_COMPILE=arm-linux-gnueabihf- O=am335x-boneblack am335x_evm_defconfig all  获取uIm…
基本指令含义 .globl _start .globl指示告诉汇编器,_start这个符号要被链接器用到,所以要在目标文件的符号表中标记它是一个全局符号 b,bl b是不带返回的跳转  bl带返回的跳转 .word 插入一个32-bit的数据队列.(与armasm中的DCD功能相同) 芯片到uboot启动流程 :ROM → MLO(SPL)→ uboot.img 启动脚本:/u-boot2011.09/arch/arm/cpu/armv7/omap-common/u-boot_spl.lds M…
AM335X有关MMC的启动参数问题分析 一. 问题来源 硬件平台:AM335X芯片 SDK版本:ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install 使用创龙相关文档进行参考. 发现问题的过程:使用SD(MMC0)卡启动UBOOT,内核,文件系统,正常启动之后,使用固化程序脚本将UBOOT.内核.文件系统固化到EMMC(MMC1)中.再将BOOT引脚设计为从EMMC(MMC1)启动. 关机后拔下SD卡,启动起来之后.文件…
sbc 7109-454 sd 卡启动qt系统后一直识别不了  emmc 也就是mmc1口, 一开始以为是硬件初始化的问题,后面又以为是io口复用,最后才知道是根本没有注册mmc1设备. 更改下面的代码就能把emmc 成功注册并识别. arch/arm/mach-omap2/board-am335xevm.c static void mmc0_init(int evm_id, int profile) { switch (evm_id) { case BEAGLE_BONE_A3: case B…
首先直接记录结果 在u-boot 中修改参数 #define AUTO_UPDATESYS */ 直接把这个参数注释掉. 这个参数是原来用来升级nor flash 启动系统设置的一个参数,也就是说, 这个参数的存在是为了升级原来nor flash的系统. 注释掉以后,插入sd卡启动便不会自动在u-boot阶段烧写系统到nor flash上面. 注释完以后,看到下面的参数 #define CON \ "console=ttyO0,115200n8\0" \ "optargs=\…
以前只在消费电子平台android和rtos上做软件,每次都是公司的环境现成的,根本不用去想启动加载那部分 的事情,最近在做一个工控机的项目时,接触到了TI的arm335x系列的平台,才发现在嵌入式的世界中,我仍是 一只小小鸟,连环境都搞不定的小小鸟. 花了那么久制作一个SD启动盘,这个怎么也要记录一下,做个总结吧. 首先是关于资料的问题,这个是让人头痛的,官网上的资料写的比较详细,可是,流程被第三方厂家改的已经 面目全非,对着两个来,发现很多路是走不通的,最后只能是在网上狂搜,逐个尝试,等制作…
Am335x的时钟结构分为:ADPLLS和ADPLLLJ 1.ADPLLS用来配置Core_CLK,Dispaly_clk,ARM系统CLK(mpu_clk),DDR PLLs_clk 2.ADPLLLJ用来为am335x的外设配置时钟 Core_clk的配置: 通过寄存器CM_CLKSEL_DPLL_CORE配置参数M,N来设置CLKDCOLDO的输出,在通过配置寄存器CM_DIV_M4_DPLL_CORE,CM_DIV_M5_DPLL_CORE,CM_DIV_M6_DPLL_CORE来配置C…
kernel 的配置 kernel 3.2.0 make menuconfig Device Drivers ---> [*] USB support ---> <*> USB Serial Converter support ---> <*> USB driver for GSM and CDMA modems kernel 3.2.0 make menuconfig Device Drivers ---> [*] Network device suppo…
针对DRAM的升级,修改u-boot 的参数即可. include/configs/ok335x.h 修改PHYS_DRAM_1_SIZE 为0x40000000  这是1G的大小. 原来512M 为上面那个参数0x20000000. 针对nandflash 的升级,作了以下修改: 在u-boot 内 include/configs/ok335x.h #define CONFIG_SYS_NAND_ECCSIZE 2048 将这个参数设置为2048 , 原来的512M的nandflash  为5…
1.网上下载DiskGenius(分区工具) 2.将4Gsd卡分区3个,boot,rootfs,user 3.boot分区大概在62M左右如图所示 将编译好的MLO.u-boot.img.uEnv.txt.am335x-evmsk.dt.uImage,copy到BOOT区 将文件系统copy到rootfs区. 分享的连接里边有对应的文件. 链接: https://pan.baidu.com/s/1sl6ooVj 密码: 8ddi…
上篇文章中我们已经能够通过u-boot启动内核了,但是没有能够启动成功,从内核的log中可以看出,内核启动失败的原因是没有挂载到root文件系统,本文将使用busybox制作根文件系统并打包成ramdisk供u-boot启动内核使用. (1)制作根文件系统 使用busybox构建根文件系统的步骤可以参考本博客的另外一篇文章,该文章链接如下: S5PV210(TQ210)学习笔记——内核移植与文件系统构建 需要补充的是,文章"S5PV210(TQ210)学习笔记——内核移植与文件系统构建"…
TI 的AM335X,linux 操作系统,全都是陌生的东东,一点一点来熟悉吧. 拿的TI代理的一开发板,直接看文档.环境由于之前一同事已经装好了,公司条件受限,没法让我们一人一台ubuntu的机子来做开发环境,所以仅仅能共用一台server,大家远程终端在上面开发了. 开发板公司给了我们一些基本文档: AM335X UBIFS NandFlash Programming Guide v1.1.pdf AM335x_Linux_擦除 NAND Flash.pdf AM335x_Linux_改动开…
链接:http://blog.chinaunix.net/uid-730738-id-3266690.html    作者:chenzhufly 从BeagleBone谈AM335x硬件系统设计 日期:2012-04-25    如果不是要试用BeagleBone,也不会花着大把的时间去研究AM335X的硬件系统设计,这些天翻阅了TI好多的文档资料,有一些小小的心得,和大家共享一下,全当做个记录,时间久了可以回来翻翻.      关于AM335X的硬件系统介绍可以参考这个链接:http://pr…
根据最近移植u-boot-2014.10至TQ335x,基于这样的假设am335x evm移植.不是很多地方需要改变. 因为TI的am335x evm开发了使用eeprom船上保存配置信息.它使用不同类型的电路板来区分,和TQ335x如果没有这个eeprom.因此.须要改动eeprom相关的部分,使u-boot适应TQ335x开发板. 使用source insight查看代码,非常easy发现,全部获取板载配置的部分都是通过读取eeprom获得的,因此,首选改动read_eeprom(board…
am335x的cpu上电后,执行流程:ROM->MLO(SPL)->u-boot.img 第一级bootloader:引导加载程序,板子上电后会自动执行这些代码,如启动方式(SDcard.SPI.NOR),然后跳转至第二级bootloader.这些代码应该是存放在 176KB 的 ROM 中 第二级bootloader:MLO(SPL),用于硬件初始化,关看门狗,关中断,设置CPU时钟频率.速度.加载uboot.img.dts等操作,MLO文件应该会被映射到 64 KB的 Internal S…
对于AM335x来讲,TI维护的USB驱动已经非常完善了,本文称之为移植,实际上仅仅是配置内核选项使能USB HOST/OTG功能.废话少说,直接动手开启AM335x的USB驱动配置项. Step1. 配置内核支持USB 默认的配置项没有配置USB相关的选项,但是DTS已经配置好了,我们不需要对DTS作任何修改,详细的内核配置项如下: [cpp] view plaincopy Device Drivers  ---> [*] USB support  ---> [*]     OTG supp…
移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前先感慨一下:TI的维护的内核真的很健壮,DTS真的很强大. 1. Nand驱动移植 阅读TQ335x的原理图可知,TQ335x的Nand连接到了GPMC上,且与DTS中默认的配置吻合,此处不做任何修改,详情如下: [cpp] view plaincopy nandflash_pins_s0: nan…
经过一段时间的调试,终于调好了TQ335x的声卡驱动.TQ335x采用的Codec是WM8960,本文来总结下WM8960驱动在AM335x平台上的移植方法.Linux声卡驱动架构有OSS和ALSA两种架构,目前最常用的架构是ALSA,本文也使用ALSA架构对WM8960驱动进行移植. ASoC是对ALSA驱动架构的进一步封装.ASoC将ALSA驱动中的各模块抽象为三部分:Platform.Codec和Machine.Platform主要是平台硬件驱动,包括SoC的IIS模块.DMA等,在本文中…
TI的LCD控制器驱动是非常完善的,共通的地方已经由驱动封装好了,与按键一样,我们可以通过DTS配置完成LCD的显示.下面,我们来讨论下使用DTS方式配置内核完成LCD驱动的思路. (1)初步分析 由于TQ335x使用的芯片是AM335x,故仍然可以参考am335x-evm.dts.当然,am335x-evmsk.dts.am335x-beagbone.dts都可以.本文以am335x-evm.dts为例.大体上浏览下DTS文件,可以发现两个醒目的节点:一个是panel,一个是backlight…
AM335X是美国TI(德州仪器)公司基于 ARM Cortex-A8内核的AM335X微处理器,在图像.图形处理.外设方面进行了增强,并全面支持诸如 EtherCAT 和 PROFIBUS等工业接口.AM335X的优点有如下几个:第一:该器件是最实惠的Cortex A8 处理芯片,这个对中国市场至关重要 ,甚至是决定性的因素.第二: TI 史上公开资料最全的一个芯片.第三: 产品定位最清晰的一个工业控制MCU第四 : 唯一一个集成2个MAC的 MCU.第五: 目前唯一支持Androd 4.0,…
使用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的安装按照创…
am335x的cpu上电后,执行流程:ROM->MLO(SPL)->u-boot.img 第一级bootloader:引导加载程序,板子上电后会自动执行这些代码,如启动方式(SDcard.SPI.NOR),然后跳转至第二级bootloader.这些代码应该是存放在 176KB 的 ROM 中 第二级bootloader:MLO(SPL),用于硬件初始化,关看门狗,关中断,设置CPU时钟频率.速度.加载uboot.img.dts等操作,MLO文件应该会被映射到 64 KB的 Internal S…
在uboot 下初始化nand,一般需要做如下工作: 第一: 配置默认从NAND boot Index: include/configs/am335x_evm.h===================================================================--- include/configs/am335x_evm.h (revision 8)+++ include/configs/am335x_evm.h (revision 9)@@ -17,9 +17…