4.1 include/conskfigs/micro2440.h
添加
#define CONFIG_SETUP_MEMORY_TAGS 1 //如果没有定义这个参数,则uboot参数必须加入men=内存大小
#define CONFIG_INITRD_TAG 1
#define CONFIG_CMDLINE_TAG 1 //设置bootargs出入内核必须
#define CONFIG_BOOTARGS 'noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0'
【说明】
到此步后,使用bootm后在'Starting kernel ...'地方死机。按照下一步修改,具体原因尚不理解,需要在以后阅读uboot的源代码。
4.2 arch/arm/lib/bootm.c
static void announce_and_cleanup(void)
{
printf('/nStarting kernel .../n/n');
#ifdef CONFIG_USB_DEVICE
{
extern void udc_disconnect(void);
udc_disconnect();
}
#endif
#ifndef CONFIG_MICRO2440
cleanup_before_linux();
#endif
}
4.3 自动启动内核
如果要自动启动内核,需要在include/conskfigs/micro2440.h定义CONFIG_BOOTCOMMAND,类似如下内容:
#define CONFIG_BOOTCOMMAND 'nand read 0x30008000 0x60000 0x300000;bootm 0x30008000'
关键字:u-boot mini2440 micro2440 移植 内核启动
引用地址:
u-boot-2011.03在mini2440/micro2440上的移植 支持内核启动
推荐阅读最新更新时间:2024-11-20 20:15
CPU移植到32平台有必要吗?低成本32位CPU移植案例分享
一个8位的或者16位的CPU或许能够满足你当前的应用需求。但是为了保持竞争力,你必须对你的产品做出持续不断地改进,包括你要不断的增加它的新特性、不断地提升它的速度,并在提升它规格的同时降低成本。如果你不做这些,而你的竞争对手在做,你将被甩开。 保持竞争优势的一个方法是通过逐步改善你现有的设计。但随着时间的推移,架构的限制可能会是这个过程变得越来越缓慢,成本也越来越高。因此你可以将你的设计移植到32为平台,这会提升你产品在以下几个方面的性能。 表1:移植到32位平台的优势 你真的需要将你的产品移植到32位平台吗? 当你把产品重一个8位的CPU移植到一个32位的CPU上面的时候,有几点时一定要考虑的。首先是你现有的CPU是否
[单片机]
mini2440的Nor Flash启动与Nand Flash启动
CPU 处理器 - Samsung S3C2440A,主频400MHz,最高533Mhz SDRAM 内存 - 在板64M SDRAM - 32bit 数据总线 - SDRAM 时钟频率高达100MHz FLASH 存储 - 在板 128M Nand Flash, 掉电非易失 - 在板 2M Nor Flash,掉电非易失,已经安装BIOS Mini2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动。 Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做
[单片机]
tiny4412学习(二)之移植linux-4.x支持设备树
硬件平台:tiny4412 系统:linux-4.4 文件系统:busybox-1.25 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 20140320) uboot:友善自带uboot,见上节 实验参考摩斯电码的博客: http://www.cnblogs.com/pengdonglin137/p/5137941.html http://www.cnblogs.com/pengdonglin137/p/5143516.html 一、u-boot修改 1、更新交叉工具链 到:http://www.veryarm.com/arm-none-linux-gnueabi-gcc 下
[单片机]
linux 2.6.22.6 移植
板子是国嵌的 GQ2440 主要移植步骤参考 韦东山老师的《嵌入式linux应用开发完全手册》 1、下载内核,打补丁 2、是用config_ok 配置内核 3、在 include/asm-arm/mach-types.h 中修改 MACH_TYPE_S3C2440 的值为 1999 因为MACH_TYPE_S3C2440 对应的机器结构在 arch/arm/mach-s3c2440/mach-smdk2440.c 中定义 所以 要把这个文件编译进内核,所以配置中有:System Type - s3c2440 Machines - SMDK2440 4、在arch/arm/mach-s3c2440/mach-smdk2440.c
[单片机]
MSP430 _data16_memzero问题
移植uCOS-II到MSP430一切都OK,后来加了TI的一个小的TCP/IP协议栈就老是死掉,纠结了两个晚上,现在把问题解决了。uCOS-II的运行需要一个时钟信号,也就是“心跳”信号,以此来进行系统运行和任务调度,我这里开了MSP430的看门狗中断作为“心跳”信号。第一个问题是我在创建任务之前开了总中断_EINT()函数,这就打开了看门狗中断,但是任务还没建立,怎么跑任务呢,那个看门狗时钟节拍中断就是任务切换用的,如果任务还没建立起来,也就是说任务的堆栈还没初始化,那任务指向哪里呢。这个问题找到了,但是另外一个问题又来了。当在一个任务中添加一个比较大的函数时(TCP监听处理函数)几死掉,进不了main函数,死在__data16
[单片机]
ucosII在51内核单片机上的移植
自嵌入式系统开发以来,很长时间都采用前后台系统软件设计模式:主程序为一个无限循环,单任务顺序执行。通过设置一个或多个中断来处理异步事件。 这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。 μC/OS-II 是一种基于优先级的抢占式多 任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。而且它内核源代码公开,可移植性强,为编程人员提供了很好的一个软件平台。
[单片机]
Mini2440移植qt-extended4.4.3
因为项目需求,前段时间在Mini2440上移植了qt-extended4.4.3,现将移植过程简单的说下,希望对做相关的工作的朋友有帮助。 一、开发环境 上位机: Fedora 9.0 交叉编译器版本:arm-linux-gcc4.4.3(友善之臂提供,在此说明下:arm-linux-gcc4.4.3或arm-linux-gcc4.4.2是支持arm9的,建议在arm9上移植不要使用友善之臂提供的arm-linux-gcc4.5(支持的是arm11的)); 网络文件系统目录:/opt/root_nfs/root_qtopia(大家根据自己的情况而定) 开发板LCD版本:w35 开发板bootloader:u-boo
[单片机]
Cypress与HI-TECH发布最新编译器,加倍PSoC器件的存储能力
Cypress半导体公司和HI-TECH Software日前宣布了一项新的编译技术,能够扩展动态可配置PSoC混合信号阵列的存储容量和性能。这款新的ANSI C编译器,即面向PSoC混合信号阵列的HI-TECH C PRO,开拓了HI-TECH的Omniscient Code Generation(全知代码生成,OCG)技术,能够从根本上降低PSoC的代码量。 PSoC混合信号阵列集成了可编程的模拟和混合功能,带有一个8位MCU内核,高达32KB闪存和高达2KB的SRAM。能够广泛用于成本敏感、空间受限的消费类应用,包括触摸屏接口、电动机控制以及近感探测及其它。PSoC设备能够进行动态重配,在相同硅片上执行多个独立的功能,因此
[半导体设计/制造]