摘要: 一、准备工作 1.1 原理图 CONFIG_DM9000_BASE 片选信号是接在nGCS4引脚,若要确定网卡的基地址,则要根据片选信号的接口去确定。 在三星2440的DATASHEET中memory control这一章的Figure 5-1. S3C2440A Memory Map after 阅读全文
posted @ 2017-06-20 19:38 游戏进行中 阅读(1508) 评论(0) 推荐(0) 编辑
摘要: 一、移植前的修改 1.1 include/configs/jz2440修改 原来的定义: 可以看出,要先定义CONFIG_CMD_NAND才能使能NANDFlash。 这个在我们文件中的82行有定义,所以不需要定义了。 将里面的S3C2410全部改为S3C2440: 1.2 drivers/mtd/ 阅读全文
posted @ 2017-06-19 21:54 游戏进行中 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 一、问题定位 开发板重启后打印了2个提醒和一个错误,caches的提醒先不看,看看flash和nand下面的提醒,bad CRC,Using default enviroment,我们可以定位Using default enviroment定位到 代码位置,如下: Env_common.c (com 阅读全文
posted @ 2017-06-18 18:13 游戏进行中 阅读(1311) 评论(0) 推荐(0) 编辑
摘要: 一、NAND原理 NAND 无地址空间,地址和数据的发送都依赖于LDATA[0:7]这一串数据总线。 不看随机页编程,看到从高位到低位的页,总共分为64个页面,每个页的组成是2K + 64 个byte,一个块的大小是(128K + 4K)byte,64页组成一块。 1.1 NAND Flash的编址 阅读全文
posted @ 2017-06-15 20:16 游戏进行中 阅读(901) 评论(1) 推荐(0) 编辑
摘要: 一、MMU介绍 1.1 虚拟地址与物理地址 建立两个应用程序,hello1.c和hello2.c,然后运行: hello1.c hello2.c 运行结果如下: 可以看到两个结果打印的地址是一样的,都为 0x601040,这说明两段程序都运行于同一个地址中。我们的死循环程序又保证了两个程序在同时运行 阅读全文
posted @ 2017-06-12 16:47 游戏进行中 阅读(1093) 评论(0) 推荐(0) 编辑
摘要: 一、CPU访问芯片的条件 CPU通过访问存储控制器,来读取外部设备的数据。 CPU想访问一个芯片,需要如下条件(配置信息): 地址线 数据线:8位/16位/32位数据宽度 时钟/频率 其他芯片相关的特性:比如SDRAM,有行地址、列地址和bank 地址线 数据线:8位/16位/32位数据宽度 时钟/ 阅读全文
posted @ 2017-06-11 11:11 游戏进行中 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 一、代码流程 1.1 串口代码 程序流程图如下; default_serial_console 执行的代码如下: 在JZ2440.H中有如下定义: 则执行结构体s3c24xx_serial0_device,从而执行INIT_S3C_SERIAL_STRUCTURE(0, "s3ser0"): _se 阅读全文
posted @ 2017-06-08 03:20 游戏进行中 阅读(3558) 评论(0) 推荐(0) 编辑
摘要: 最开始已经建立了新单板以及配置文件,现在就需要做的是代码的修改,配置成适合目标板使用的u-boot。 一、时钟修改 在代码流程分析中,我们知道,系统的启动是: 设置 CPU 为管理员模式 关闭看门狗 屏蔽中断 设置启动参数:时钟 FCLK:HCLK:PCLK = 1:2:4 FCLK=120MHZ 阅读全文
posted @ 2017-06-06 19:39 游戏进行中 阅读(2241) 评论(9) 推荐(0) 编辑
摘要: 一、重定位 1.以前版本的重定位 2.新版本 我们的程序不只涉及一个变量和函数,我们若想访问程序里面的地址,则必须使用SDRAM处的新地址,即我们的程序里面的变量和函数必须修改地址。我们要修改地址,则必须知道程序的地址,就需要在链接的时候加上PIE选项: 加上PIE选项后,链接时候的地址就会生成,然 阅读全文
posted @ 2017-06-05 20:30 游戏进行中 阅读(2339) 评论(3) 推荐(0) 编辑
摘要: 一、vectors.S 1.1 代码地址 vectors.S (arch\arm\lib) 1.2 流程跳转 跳转符号 B 为 start.S 中的 reset 执行代码,暂且先不看,先看看 vector.S 中的执行。 1.3 代码分析 这里的代码全部都是异常向量表的定义,第一段代码中,执行 b 阅读全文
posted @ 2017-06-03 16:32 游戏进行中 阅读(1147) 评论(0) 推荐(0) 编辑