06 2017 档案

摘要:一、制作jiffs文件系统 制作jffs2 文件系统需要用到 mkfs.jffs2工具。 执行命令: mkfs.jffs2 -n -s 0x800 -e 0x20000 --pad=0x800000 -r ~/work/nfs_root/fs_mini -o fsmini.jffs2 在u-boot 阅读全文
posted @ 2017-06-30 10:23 游戏进行中 阅读(1159) 评论(0) 推荐(0) 编辑
摘要:一、工具 制作工具为busybox 下载地址:https://busybox.net/ 解压: 二、制作文件系统 进入目录,执行make menuconfig: 2.1 busybox setting 2.1.1 设定交叉编译器 改为 保存退出,然后执行 make 编译。 编译完成后创建文件系统存放 阅读全文
posted @ 2017-06-29 19:04 游戏进行中 阅读(965) 评论(0) 推荐(0) 编辑
摘要:一、环境搭建 源码包下载:git clone https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.8.tar.gz 或者直接去kernel.org上面进行下载。 交叉编译工具链制作: 这个已经在u-boot移植中已经做过了:http://w 阅读全文
posted @ 2017-06-27 15:49 游戏进行中 阅读(2998) 评论(0) 推荐(1) 编辑
摘要:nfs可以挂载制作好的根文件系统,同时可以像tftp一样传文件到开发板上。 一、nfs安装 sudo apt-get install nfs-kernel-server 安装nfs-common,这是挂载nfs 目录所需要的 二、建立工作目录 改变权限“ 三、修改配置文件 3.1 在/etc/exp 阅读全文
posted @ 2017-06-26 22:18 游戏进行中 阅读(346) 评论(0) 推荐(0) 编辑
摘要:一、烧写文件系统 1.1 jffs2烧写 1.下载文件系统:tftp 30000000 fs_mini_mdev.jffs2 2.擦除文件的块:nand erase.part rootfs 3.烧入文件系统:nand write.jffs2 30000000 0x00260000 5b89a8 4. 阅读全文
posted @ 2017-06-26 19:51 游戏进行中 阅读(821) 评论(0) 推荐(0) 编辑
摘要:一、错误处理 上一节遇到一个错误: print一下: 发现我们在jz2440.h中静态写的网络参数都没有写进去。 dm9000 address not set。 dm9000的地址未设置。 这里对应两个函数: static int eth_pre_unbind(struct udevice *dev 阅读全文
posted @ 2017-06-24 20:50 游戏进行中 阅读(1372) 评论(0) 推荐(0) 编辑
摘要:一、内核裁剪 内核的裁剪首先就是修改我们的配置文件,即 include/configs/jz2440.h 文件,里面定义的很多宏,我们也许用不上的就要去掉。 编译执行: do_date 对应着宏 DO_CMD_DATE,去掉此宏 再次编译执行,编译完成。 烧写进开发板。启动。 二、环境变量 2.1 阅读全文
posted @ 2017-06-24 13:18 游戏进行中 阅读(2446) 评论(0) 推荐(0) 编辑
摘要:一、准备工作 1.1 原理图 CONFIG_DM9000_BASE 片选信号是接在nGCS4引脚,若要确定网卡的基地址,则要根据片选信号的接口去确定。 在三星2440的DATASHEET中memory control这一章的Figure 5-1. S3C2440A Memory Map after 阅读全文
posted @ 2017-06-20 19:38 游戏进行中 阅读(1542) 评论(0) 推荐(0) 编辑
摘要:一、移植前的修改 1.1 include/configs/jz2440修改 原来的定义: 可以看出,要先定义CONFIG_CMD_NAND才能使能NANDFlash。 这个在我们文件中的82行有定义,所以不需要定义了。 将里面的S3C2410全部改为S3C2440: 1.2 drivers/mtd/ 阅读全文
posted @ 2017-06-19 21:54 游戏进行中 阅读(750) 评论(0) 推荐(0) 编辑
摘要:一、问题定位 开发板重启后打印了2个提醒和一个错误,caches的提醒先不看,看看flash和nand下面的提醒,bad CRC,Using default enviroment,我们可以定位Using default enviroment定位到 代码位置,如下: Env_common.c (com 阅读全文
posted @ 2017-06-18 18:13 游戏进行中 阅读(1347) 评论(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 游戏进行中 阅读(955) 评论(1) 推荐(0) 编辑
摘要:一、MMU介绍 1.1 虚拟地址与物理地址 建立两个应用程序,hello1.c和hello2.c,然后运行: hello1.c hello2.c 运行结果如下: 可以看到两个结果打印的地址是一样的,都为 0x601040,这说明两段程序都运行于同一个地址中。我们的死循环程序又保证了两个程序在同时运行 阅读全文
posted @ 2017-06-12 16:47 游戏进行中 阅读(1123) 评论(0) 推荐(0) 编辑
摘要:一、CPU访问芯片的条件 CPU通过访问存储控制器,来读取外部设备的数据。 CPU想访问一个芯片,需要如下条件(配置信息): 地址线 数据线:8位/16位/32位数据宽度 时钟/频率 其他芯片相关的特性:比如SDRAM,有行地址、列地址和bank 地址线 数据线:8位/16位/32位数据宽度 时钟/ 阅读全文
posted @ 2017-06-11 11:11 游戏进行中 阅读(776) 评论(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 游戏进行中 阅读(3752) 评论(0) 推荐(0) 编辑
摘要:最开始已经建立了新单板以及配置文件,现在就需要做的是代码的修改,配置成适合目标板使用的u-boot。 一、时钟修改 在代码流程分析中,我们知道,系统的启动是: 设置 CPU 为管理员模式 关闭看门狗 屏蔽中断 设置启动参数:时钟 FCLK:HCLK:PCLK = 1:2:4 FCLK=120MHZ 阅读全文
posted @ 2017-06-06 19:39 游戏进行中 阅读(2323) 评论(9) 推荐(0) 编辑
摘要:一、重定位 1.以前版本的重定位 2.新版本 我们的程序不只涉及一个变量和函数,我们若想访问程序里面的地址,则必须使用SDRAM处的新地址,即我们的程序里面的变量和函数必须修改地址。我们要修改地址,则必须知道程序的地址,就需要在链接的时候加上PIE选项: 加上PIE选项后,链接时候的地址就会生成,然 阅读全文
posted @ 2017-06-05 20:30 游戏进行中 阅读(2403) 评论(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 游戏进行中 阅读(1166) 评论(0) 推荐(0) 编辑
摘要:一、环境 电脑:WINDOWS10 64位,专业版 虚拟机:VMware workstation 12,ubuntu 16.04 开发板:JZ2440 V3 关闭电脑的防火墙和杀毒软件等等 Windows和ARM开发板连接 物理环境: 准备一台小型交换机或者是路由器,开发板和电脑的网口用直连网线连接 阅读全文
posted @ 2017-06-02 11:44 游戏进行中 阅读(553) 评论(0) 推荐(0) 编辑
摘要:一、代码执行总体流程图 1.1 代码路径 U-boot.lds (arch\arm\cpu) vectors.S (arch\arm\lib) start.S (arch\arm\cpu\arm920t) lowlevel_init.S (board\samsung\jz2440) crt0.S ( 阅读全文
posted @ 2017-06-02 10:11 游戏进行中 阅读(1942) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示