02 2014 档案
摘要:手里的OK6410,移植完Uboot2010.03后,开始移植Linux3.5,通过DNW烧入uImage后,可以工作。在此过程中,理解了Uboot和Linux Kernel之间的关系,同时也对开发板上的各个子电路和芯片也有了新的认识。但是美中不足的是飞凌提供的cramfs文件系统,却是个只读的文件系统,无法存储数据,这样直接影响到tftp的使用,所以尝试添加一个分区,用来存储数据。添加分区十分简单,只需要在arch/arm/mach-s3c64xx/mach-ok6410.c中找到struct mtd_partitions ok6410_nand_part[] 数组,在其中添加一个分区即可。
阅读全文
摘要:第一个部分中,完全使用ARM汇编来控制LED,完全使用汇编来编写大的系统存在理论可行性(当然现实中也有完全使用汇编实现的操作系统),但是汇编理解起来太困难,编写起来很复杂,太琐碎,所以肯定会想要使用理解性更好的C语言来编写大部分代码,那么哪些代码用汇编编写?哪些用C语言编写呢?从工程实践中可以得出一些结论:1.跟具体硬件紧密相关的功能,对这部分功能,无需保持可移植性。2.对C语言编译后的代码没有信心,或者必须进行特别优化时,必须依靠人工优化代码时。3.相对的是,如果需要保持可移植性,那么必须把平台无关的功能通过底层的部分汇编代码进行隔绝,其他代码通过C语言来编写。功能原理和电路图见第一篇。代码
阅读全文
摘要:基本概念:1.GPIO--通用IO口,通过芯片针脚来控制或读取外设的数据。2.GPIO口的使用原理,通过设置GPXXCON, GPXXDAT, GPXXPUL等寄存器来设置GPIO口的状态。原理图:跟硬件相关的部分,一定要阅读原理图,然后通过查找SoC的用户手册来查找相应的寄存器设置即可。底板电路图:核心板电路图:可知在OK6410上4个LED灯是通过GPM这一组的GPIO口控制的,分别是GPM0-GPM3四组。然后打开S3C6410X User's Manual,查找GPM相关的寄存器:通过上面内容找到:GPMCON 地址 0x7F008820GPMDAT 地址 0x7F008824
阅读全文
浙公网安备 33010602011771号