编译uboot、内核、文件系统
烧写uboot、内核、文件系统
串口驱动程序
编译uboot命令:
make distclean
make swls1b_config
make
编译内核:
//此处还有一个命令,用于生成内核的版本号,好像可以不要
make
编译文件系统
./mkyaffs2image ./rootfs/ ./rootfsimg1c.bin
rootfs为文件系统所在的目录,rootfsimglc.bin为生成的文件系统文件
ping 192.168.0.254 //预设好的ip地址,测试网口是否能连通
更新uboot:
有两种方法
第一,已经存在uboot的情况下,在uboot命令行更新
tftp u-boot.bin
sf erase 0 +$(filesize)
sf write $(fileaddr) 0 $(filesize)
第二,没有uboot,需要通过ejtag更新,参考之前的文章
烧写内核
tftp uImage.bin
nand erase.part os
nand write $(fileaddr) os $(filesize)
nboot os //从nand启动内核
烧文件系统
//tftp rootfsimg1c.bin
//tftp ls1bjffs2img.bin
tftp rootfsimg1c.bin
nand erase.part app
nand write.yaffs $(fileaddr) app $(filesize)
串口驱动:
有两篇参考资料
《串口驱动过程.txt》《8250.c分析.txt》
根据这两个文件,持续分析串口驱动
项目功能
负责串口的读取和写入功能,一共三个串口,ttyS1为485A,ttyS2为485B,ttyS3为232。
读取完毕之后,如需让三个串口都有写入功能,需要让三个串口分别打印不同的内容,写入时每个串口负责写入的一部分值,保证三个串口不冲突。