移植三星uboot

注:为学习朱有鹏嵌入式课程的笔记
三星uboot移植:(在source insight里改,复制到Ubuntu中,可以写个cp.sh,把复制命令都写进来,再source cp,sh)(解决问题首先要定位,细心查找,总是有效的方法加打印信息)
1.屏蔽PMIC模块    uboot运行起来了,但是很多配置错误、
2.打开smdkv210single.h,  三星开发板和九鼎开发板只是板级区别,soc cpu并没区别,所以移植时时钟部分不动   DDR部分要改(寄存器memconfig0,dram1_base_address改为从30000000开始,
虚拟印射表  mmu   .set _base 0x200    .rept 0xD00-0xC00改为.set _base 0x300    .rept 0xD00-0xC00)    重新配置 编译
3.inand  有误,解决:把打印的错误信息复制到uboot项目中去搜索(选一个关键字)
extended csd寄存器:card specific data卡特有信息,,,,里面有一个是卡的版本信息
4.修改环境变量如ipaddr。在smdkv210single.h中,修改的是默认的环境变量,但是每次开发板重启用的是mmc里的。所以如果想让修改的环境变量起作用,要破坏mmc的环境变量分区
mmc write <device number> address blk# cnt     mmc write 0 3000000 11 32(把内存30000000开头的内容第17个扇区开始的32个扇区里)
5.移植网卡  网卡(伪装成ROM.SRAM)与SROMC_BANKn相连,实际上是一种总线访问,这样soc内部就不要有一个网卡控制器,
所有的寄存器都在外部网卡芯片中(所有寄存器的地址都是一个偏移量,相对于SROMC_BANKn内存地址),通过地址直接访问,不同iNand/SD时序访问。
SROMC是SROM控制器,支持外部的8位或16位NOR FLASH 或SRAM     SROM是SRAM或ROM.SRAM。
主机soc上网就是通过控制网卡芯片的寄存器和缓冲区等资源。比如将要发送的数据丢到缓冲区
DM9000是16bit数据线(数据线与地址线复用) 。 网线有八根,但其实只有四根有效通信线(两根用来发送TX- TX+  两根用来接收RX- RX+(差分信号)),其他四根是地线用来抗干扰。、
CS chip select选中,网卡芯片才工作。
(芯片的引脚多了,块头也做大了,焊接时不良率也增加了)
socket内部调用网卡驱动实现网络通信

猜你喜欢

转载自blog.csdn.net/qq_41648636/article/details/80369248