随笔分类 - ARM
摘要:接下来是为UBOOT增加驱动。 1) NOR FALSH: TQ2440的NOR FLASH和UBOOT源文件中用到的AM29LV800相似,只需在/include/configs/TQ2440.h里作一些改动即可。具体参考网上教程。 2) 网卡: 网卡DM9000的驱动在UBOOT中已自带,首先在/include/configs/TQ2440.h中注释掉原网卡CS8900的宏。 添加DM9000的宏,添加CONFIG_CMD_PING以支持PING命令。 添加CONFIG_ETHADDR、CONFIG_NETMASK、CONFIG_IPADDR、CONFIG_SERVERIP等宏来设置网络.
阅读全文
摘要:一. 代码修改 UBOOT从arch\arm\cpu\arm920t\start.s开始运行。 start.s主要负责设置CPU模式,初始化时钟、中断、看门狗、SDRAM,初始化堆栈等工作,并拷贝自己到内存中,然后从加载地址跳转到内存中的运行地址处,之后的就是C程序了。 首先修改时钟初始化代码,将start.s中原来的2410时钟初始化代码删除,增加一句 [bl clock_init]实现时钟初始化。 函数clock_init在文件boot_init.c中,此文件可以从TQ2440的UBOOT中拷贝过来放到board\samsung\TQ2440下,它包含了时钟初始化函数(clock_init
阅读全文
摘要:尽管TQ2440开发板已经自带了一个功能完善的UBOOT,但因为第一次接触UBOOT,还是希望自己能亲自动手移植一次,这样才有提高。 网上可以找到很多关于UBOOT在S3C2440上移植的教程,按着教程一步一步的做就能实现基本的移植。不过即便是按着教程做,也遇到了不少问题,需要自己解决。 这次移植UBOOT的主要目的是弄清楚UBOOT的基本结构,因此不关注对底层驱动的实现细节,代码从别处复制过来修改即可。现将大致步骤的总结一下:1.下载UBOOT 地址 ftp://ftp.denx.de/pub/u-boot/, 版本是2010.06。2.删除多余文件: 删除arch目录下除arm目录以外的.
阅读全文
摘要:最近玩2440接触到了scatter文件,之前用STM32写代码时并没有关心过它,因为STM32的储存器结构比较简单,所以直接由MDK生成。 今天读了下ADS_LinkerGuide手册,现将一些心得总结一下。1. 关于IMAGE(映像)、Execution Region(执行域)、Load Region(加载域)、Output Section(输出段)、Input Section(输入段) 为了弄明白scatter文件,首先需要清楚这些基本概念。 IMAGE文件的结构由以下定义:包含的域和输出段的数量,当它们加载到存储器中时的地址,当IMAGE被执行时它们的地址。 域、输出段与输入段之间的.
阅读全文
摘要:前几天找同学借了TQ2440的开发板来玩,由于是第一次弄ARM9,理所当然从裸奔开始了。 MDK比较熟悉,但是ADS没用过,可是TQ2440光盘里的测试程序就是ADS下建立的工程。实在不想去折腾ADS,于是百度将这个工程移植到MDK下的方法。 经亲自测试,按以下步骤做可以成功在MDK下编译出bin文件。本人使用的MDK版本是4.72a。 第一步就是打开MDK,新建一个project,device选择Samsung -> S3C2440A。MDK提示是否自动添加启动代码,选择否,因为测试程序自带了启动代码2440init.s,并且更好。 第二步配置参数(Options for Target
阅读全文

浙公网安备 33010602011771号