摘要:这篇是中断向量的存储、注释比较清晰、就不再细讲 1 /* 2 ************************************************************************* 3 * 4 * Interrupt handling 5 * 6 ************************************************************************* 7 */ 8 @ 9 @ IRQ stack frame. 10 @ 11 #define S_FRAME_SIZE 72 12 13...
阅读全文
摘要:直接切入主题 1、设置堆栈 1 skip_hw_init: 2 /* Set up the stack */ 3 stack_setup: 4 ldr r0, =CONFIG_SYS_UBOOT_BASE /* base of copy in DRAM */ //0x57e0_0000 5 sub r0, r0, #CONFIG_SYS_MALLOC_LEN /* malloc area */ /...
阅读全文
摘要:在上一篇中讲完了lowlevel_init中对相应模式的设置、在最后对MMU进行了初始化。 那在这一篇就把使能MMU的过程描述了。 1、设置访问域 1 after_copy: //这里怎么就after了、我们可还没有copy呢 //剧透一下,后面会补充copy相关的代码,此处暂且跳过 2 #ifdef CONFIG_ENABLE_MMU // 3 enable_mmu: 4 /* enable domain access */ 5 ldr r5, =0x0000ffff 6 mcr ...
阅读全文
摘要:这一篇粗略讲一下lowlevel_init.S内部的模块。 1、_TEXT_BASE 1 #include <config.h> 2 #include <version.h> 3 4 #include <asm/arch/s3c6400.h> 5 6 #ifdef CONFIG_SERIAL1 7 #define ELFIN_UART_CONSOLE_BASE (ELFIN_UART_BASE + ELFIN_UART0_OFFSET) 8 #elif defined(CONFIG_SERIAL2) 9 #define ELFIN_UART_CONSOLE_
阅读全文
摘要:这一篇写得有点慢,期间为了弄清楚一些细节的问题耽搁了,不过写得也会更详细。1 /*2 *************************************************************************3 *4 * CPU_init_critical registers5 *6 * setup important registers7 * setup memory timing8 *9 *************************************************************************10 */1...
阅读全文
摘要:虽然已经写了几篇关于uboot移植的、但是觉得整体对uboot的理解还是只停留在copy的层面。 狠下心来,从代码进行uboot的分析,并从新移植一次uboot。 这次更侧重于记录代码分析心得。 使用uboot的版本仍为2010.3版本。 这里有一个很是详尽的start.S分析网站,分析过程借鉴了网站的方法,但也有一些不同的地方http://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html 总的不同有如下 在网站的分析中,基于代码为arm9...
阅读全文
摘要:修复文件/uboot/drivers/mtd/nand/nand_util.c文件如下代码段 /* output progress message only at whole percent * steps to reduce the number of messages printed * on (slow) serial consoles */ if (...
阅读全文
摘要:经过半周的制作,我的OK6410总算是成功在我自己构建的uboot上运行系统了。 在此回顾一下整个过程的大纲。 一、成功编译的开始 1、下载一份未经过处理的uboot 2、精简uboot中不用到的文件,保留相似的芯片6400的板级文件 3、对精简后的uboot进行初次编译,顺便可以检查工具链、uboot的完整性 4、通过创建目录、拷贝、修改的方式,创建出初始的6410的板级文件、Makefile等 5、对自己创建的6410进行初次编译,产生的错误一般是拷贝的文件内容未进行更改,修复后一般能正常编译 二、基本启动信息的修改 1、修改汇编入口代码/cpu/arm1176/st...
阅读全文
摘要:现在开始记录在linux上安装dnw功能 想要源代码,可以到这里forkhttps://github.com/Qunero/dnw4linux 详细的使用,README里面讲得很清楚了,不加赘述了。 这里只讲一下怎么使用。 1、加载模块.ko文件$ cd secbulk_driver/$ insmod secbulk.ko 然后确认一下已经加载$ lsmod | grep secbulk//若正确加载了,应该有回显secbulk 12728 0 2、插入USB to miniUSB线 然后查看一下系统信息$ dmesg//正常情况下应该有如下...
阅读全文
摘要:由于我电脑win7上的DNW-USB驱动一直装不上,所以选择在ubuntu下完成dnw的操作实现与uImage的引导。 先给开发板的uboot添加dnw功能 具体文件可以git这里https://github.com/plinx/uboot_dnw 1、将cmd_usbd.c拷贝到common目录下 2、添加规则到/common/Makefile# core command...COBJS-y += cmd_usbd.o 3、将usbd-otg-hs.h,usbd-otg-hs.c拷贝到u-boot/cpu/arm1176/s3c64xx/ 4、将regs.h,s3c64x...
阅读全文
摘要:1、转换文件内容编码 Windows下生成的纯文本文件,其中文编码为GBK,在Ubuntu下显示为乱码,可以使用iconv命令进行转换:iconv -f gbk -t utf8 source_file > target_file 2、转换文件名编码 Windows下压缩的zip文件,在 Ubuntu下解开时,中文文件名会显示乱码,可以用convmv解决。 安装convmv:sudo apt-get install convmv 转换文件或目录:convmv -f gbk -t utf8 -r --notest * 3、解压rar文件乱码 在ubuntu下解压Windows环境...
阅读全文
摘要:http://0nly.me/post/15197d_5063b7
阅读全文
摘要:一、网卡的正常化配置 1、修改头文件调用关系 在原配的smdk6400.h中(因为是复制过来的),网卡配置为CS8900,而手头开发板上的网卡为DM9000,所以第一步来修改网卡驱动程序。 修改/include/configs/smdk6410.h 找到如下字段,更改如下/* * Hardware drivers */#define CONFIG_NET_MULTI//#define CONFIG_CS8900 /* we have a CS8900 on-board *///#define CONFIG_CS8900_BASE ...
阅读全文
摘要:1、启动模块修改 进入/cpu/arm1176/目录,修改start.S文件 首先找到需要修改的CONFIG_NAND_SPL汇编原码,修改如下:#ifndef CONFIG_NAND_SPL/* * flush v4 I/D caches */mov r0, #0mcr p15, 0, r0, c7, c7, 0 /* flush v3/v4 cache */mcr p15, 0, r0, c8, c7, 0 /* flush v4 TLB *//* * disable MMU stuff and caches */mrc p15, 0, r0, c1, c0, 0bic r0, r...
阅读全文
摘要:接着上一篇的,从github clone下代码。 1、先查看当前开发分支$ cat .git/HEADref: refs/heads/master 这里的master是默认分支。 2、查看当前状态$ git status# On branch masternothing to commit (working directory clean) 目前是无推送状态,即使你推送了一个未做任何改变的文件,当前状态仍未无推送状态。 进入README添加一句之后$ git add README//之后有两种方法填写推送信息//比较简单的一种,直接写入推送信息,-m 就是 message 的意思...
阅读全文
摘要:好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化。 1、在ubuntu中安装git$ sudo apt-get install git git-core 2、配置本机的git$ git config --global user.name "abcd"$ git config --global user.email abcd@efgh.com 3、生成密钥$ ssh-keygen -t rsa -C "abcd@efgh.com" //邮箱同上 4、提交密钥vim /home
阅读全文