zl程序教程

您现在的位置是:首页 >  其他

当前栏目

zynq下烧写系统

2023-04-22 10:59:43 时间

1. 综述

       1. SD卡首先进行分区,需要在虚拟机下修改。原因:第二个分区会设置成linux格式,在windows下无法查看。

       2. SD卡第一个分区fat32格式,存放启动文件和内核:boot.scr、image.ub、BOOT.BIN

                  第二个分区Linux格式,存放文件系统。

              

2. 烧写过程

   2.1  SD卡分区

         第1步:让虚拟机识别到SD卡插入,若识别到如下所示。(不一定是sdb)

        

          

         第2步: sudo  fdisk  -l  查看sd卡对应的分区情况

         

       第3步: 将SD卡所有分区均进行卸载   umount /dev/sdb1umount /dev/sdb2  

         

         第4步: 输入指令 sudo  fdisk  /dev/sdb  进行分区,sdb根据实际情况修改,可能是sdc、sdd

                                                   p查看当前分区

                                                   n新建分区

                                                   d删除分区

                                                   t修改分区格式

                                                   w保存分区

          第5步:输入p 查看分区

          

         第6步:输入d 删除分区

          

        第7步:新建第一个分区, 输入n 新建分区,分区类型输入p(默认),分区号输入1(默认)First sector默认输入回车,Last sector输入+500M,即第一个分区设置500M大小。

      

      第8步:新建第二个分区, 输入n 新建分区,全部默认回车,剩余空间全部给第二个分区。

        

      第9步:修改分区格式,输入t,选择分区输入1,选择分区格式输入b(fat32),第二个分区默认linux,输入p,查看修改结果,输入w确认修改并退出。

        

       第10 步:对分区命名、格式化

                      分区BOOT格式化: sudo mkfs.vfat -F 32 -n BOOT /dev/sdb1

                      分区rootfs格式化: sudo mkfs.ext4 -L ROOTFS /dev/sdb2

        

       第11 步:再次使用sudo fdisk -l 查看分区情况,如下所示,即为成功

       

   2.2  拷贝到SD卡分区

        第12步:拷贝相关启动文件到BOOT分区,直接在虚拟机上操作即可。

           

        第13步:拷贝文件系统到内存卡第二个分区(有些麻烦操作如下 ,如果虚拟机有备份就不需要这么麻烦了)

            (1)把内存卡插入到已经有系统的板卡上。(可以在板卡上电的情况下操作)

            (2)用串口线连接板卡,查看SD卡分区的挂载位置。(注意位置可能不一定相同)

         

             (3)输入指令:sudo cp  /media/sd-mmcblk0p2/*  /media/sd-mmcblk1p2   将板卡中的文件系统拷贝到SD卡的第二个分区中,拷贝成功后用winscp查看如下。

               

              (4)输入指令:sync  

              (5)修改 SD卡第二个分区中拷贝的文件 qspi_boot 的脚本中,#./qspi_boot 前边的#去掉,

              

                (6)此时烧写系统的SD卡制作成功

   2.3  系统烧写

           第14步:将制作的SD卡插入板卡中,拨码开关拨到SD卡启动方式1010 (on为0),上电,等待串口输出烧写成功(3~5min左右)。

          

        

       第15步:修改拨码开关为0100,通过gspi启动(板卡正常情况下就是这种启动方式),上电后系统成功启动则表示烧写成功了

      

   2.4  注意事项

        (1)sd卡里系统可以在虚拟机里备份一下,用指令cp复制,可能要加sudo。

        (2)sd卡的文件系统刚才把脚本里./qspi_boot开启了,每次用sd卡启动都会把emmc里的文件系统清空,并重新烧写,比较耗时,所以不需要烧写系统时不建议通过sd卡启动,或者先注释掉./qspi_boot再从sd卡启动。