- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 Linux更改环境变量
1. sudo vim ~/.bashrc2.在该文件最后加入需要新增的环境变量, 每个环境变量之间用“:”分隔3. source ~/.bashrc 立即生效
2019-01-13 11:23:25
481
原创 Linux交叉编译链的制作
在一遍学习韦东山老师的u-boot, Linux kernel移植和制作根文件系统的视频教程后,自己试着移植可支持单板的最新版,其中对应版本号如下: u-boot: 2016.11(Last version to support S3C2440) Linux kernel: 4.15.2 4.16.1(same way) Busybox: 1.28.1 其中使用的交叉编译链为arm-li...
2018-07-12 23:18:01
352
原创 制作Linux根文件系统
本节移植根文件系统使用最新版的Busybox1.28.1未能成功,但是使用韦老师的uboot和内核,移植了busybox1.20.1成功挂载,再次记录下过程,待以后有新的进展后再修改。1. 构建Linux系统中使用的命令1.1 下载最新版的busybox下载网址为https://www.busybox.net/ 现在的最新版为1.28.1 但是最新版未能移植成功,使用Busyb...
2018-02-25 23:51:24
515
原创 JZ2440平台移植Linux内核4.15.2
现在开始在JZ2440平台上移植最新的liunux内核4.15.2. 第一步,实现内核的启动,并且串口能正常输出。 此部分参照韦东山老师的视频教程“毕业班第3课第1节”内容,亦参考网友课本视频课程的文字博客https://www.cnblogs.com/kele-dad/p/7082682.html1. 下载内核源码,并解压内核源码的下载地址为https://www...
2018-02-13 09:12:41
1795
原创 JZ2440平台移植uboot 2016.11(十一)
本节中进行一些uboot引导Linux内核的收尾工作1. 解决编译后uboot版本后缀问题在使用新的uboot启动时,总是看到uboot版本号显示如U-Boot 2016.11-gbad43fd-dirty 于是心里有点不爽,想把它去掉,但是在使用grep查找关键词gbad43fd-dirty后,看到有两个文件有,但是那都是编译时自动生成的,修改后再次编译还是会自动产生。 于是看了...
2018-02-13 08:54:06
972
原创 JZ2440平台移植uboot 2016.11(十)
本节中实现nand write.yaffs2 之前版本的uboot是支持write.yaffs2的,但是此版本中已经找不到nand的这个命令了。 nand write和nand write.yaffs2之间的差别是,nand write在写完一页数据之后计算出OOB的数据然后写入,但是在write.yaffs2中,本身自带OOB数据,只需写入即可。 对照之前版本的uboot源码,做如下修改
2018-02-02 16:52:35
626
原创 JZ2440平台移植uboot 2016.11(九)
本节中精简uboot,修改uboot的分区1. 精简uboot配置uboot中实现哪些功能在两个文件中配置,include/configs/smdk2440.h,configs/smdk2440_defconfig 修改配置文件configs/smdk2440_defconfigCONFIG_ARM=yCONFIG_TARGET_SMDK2440=yCONFIG_BOOT
2018-02-02 15:03:21
716
原创 JZ2440平台移植uboot 2016.11(八)
本节中移植uboot的网卡驱动。 JZ2440 V2开发板上的网卡芯片是DM9000,但是在uboot中默认的侍CS8900,需要重新配置。1. 加入DM9000网卡驱动通过查看drivers/net/Makefile, 可以看到在定义CONFIG_DRIVER_DM9000之后才会编译DM9000的驱动程序,因此修改单板配置文件include/configs/smdk2440.h
2018-01-31 15:39:52
910
1
原创 JZ2440平台移植uboot 2016.11(七)
本节中实现uboot对Nand flash的操作1. 复制文件对比了S3C2410和S3C2440的Nand控制寄存器,他们之间的差别还是比较大,uboot源代码中支持2410 nand,我们需要复制文件drivers/mtd/nand/s3c2410_nand.c为s3c2440_nand.c2. 修改Makefile修改drivers/mtd/nand/Makefile
2018-01-30 14:31:56
1054
原创 JZ2440平台移植uboot 2016.11(六)
本节中来实现uboot从NAND flash中启动 为了不像从Nor flash启动时那样,针对不同的变量需要修改其在RAM中对应的地址,在从NAND flash启动时,我们在编译时直接加上在RAM中的偏移地址,使其编译之后的地址固定为将来在RAM中运行的地址。 RAM空间为64M(0x34000000), 为uboot的代码空间和bss段留出1M的空间,因此,uboot的起始空间为0x33
2018-01-25 11:49:38
2102
1
原创 JZ2440平台移植uboot 2016.11(五)
本节中实现的目标是代码在Nor flash上面可以运行,串口输出正常信息。1. 代码前期调试因为刚开始不能使用串口,因此使用LED来辅助调试程序 在start.S中禁止中断后line83后加入/**************************init LED**************************/ldr r0, =0x56000050ldr r1,
2018-01-23 11:52:35
1399
3
原创 JZ2440平台移植uboot 2016.11(四)
本节中的任务是创建新单板1.在board/samsung目录下,复制文件夹smdk2410 为新文件加smdk2440 2.在smdk2440文件夹下,修改文件smdk2410.c文件名称为smdk2440.cobj-y := smdk2440.o3.在uboot根目录下执行make distclean4.在configs文件夹下,复制文件smdk2410_def
2018-01-18 09:02:18
1177
3
原创 JZ2440平台移植uboot 2016.11(三)
本节中,试着梳理 uboot 的内存分配结构. 内存分配从arch/arm/lib/crt0.S中的_main函数开始 第一部分内存分配 ldr sp, =(CONFIG_SYS_INIT_SP_ADDR) #sp = 0x30000000 + 0x1000 mov r0, sp bl board_init_f_alloc_reserve
2018-01-17 10:07:54
1243
原创 JZ2440平台移植uboot 2016.11(二)
本次梳理uboot 2016.11 在SMDK2410平台上的代码执行流程。代码从arch/arm/cpu/Arm920t/start.S开始1. 设置CPU工作在SVC模式;2. 禁止开门狗和所有中断;3. 设置CLK;4. 设置I/D cache, 禁用MMU5. 调用lowlevel_init,初始化RAM6. 调用_main, 在crt0.S (arch\arm
2018-01-15 15:18:54
1530
原创 JZ2440平台移植uboot 2016.11(一)
今日在看韦东山老师的第二期Linux Driver视频,看到毕业部分的移植最新版的uboot到JZ2440,所以蠢蠢欲动,自己也来试着移植uboot。从来没写过优快云博客,从前都是看别人的,受益匪浅,帮我填平了很多坑。想在博客中记录自己遇到的问题,希望能帮到别人。 首先下载了uboot最新的源代码,是2017.11版的,解压后发现里面的board目录下根本没有smdk2410.因为24
2018-01-14 23:03:37
3009
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人