搜索
bottom↓
回复: 41

分享一个新版的矿机控制卡资料·完结

  [复制链接]

出0入0汤圆

发表于 2020-5-5 17:26:57 | 显示全部楼层 |阅读模式
放假这几天,在家把这个坑简单填一下。
前两篇帖子地址
分享一个新版的矿机控制卡资料
https://www.amobbs.com/thread-5732635-1-1.html
分享一个新版的矿机控制卡资料·续
https://www.amobbs.com/thread-5732804-1-1.html
整体的uboot kernel rootfs都可以正常使用了

上一次 已经编译完成uboot,再简单说一下编译流程
首先需要安装 vivado 以及 配套的SDK
我是在windows上安装的vivado 在ubuntu上安装的SDK,虽然使用WSL 也都可以,但是在WSL中编译kernel那速度 让人崩溃。
软件下载地址:vivado  https://www.xilinx.com/support/d ... o-design-tools.html
                      SDK      https://www.xilinx.com/support/d ... nloadNav/vitis.html
由于 2019.2以后ivado和sdk整合成一个软件 vitis,据说坑不少。
本人使用的2018.03.
然后安装对应版本的软件就可以了

vivado 新建工程 一路next 到选择芯片

选择 xc7z010clg400-1L

再打开的工程中 添加 ZYNQ  PS的IP核

配置MIO管脚,关闭AXI 接口,配置DDR
一些具体流程可参考的文章 https://blog.csdn.net/FPGADesigner/article/details/88379785
https://blog.csdn.net/luoqindong/article/details/42963565

生成bitstream文件,导出SDK

在SDK中新建FSBL工程,编译。


以上vivado相关工程结束。
下面开始编译uboot
从官方github上clone 下来 uboot https://github.com/Xilinx/u-boot-xlnx.git
然后checkout 出 xilinx-v2018.3 分支
我是以zynq-zed为模板修改相关配置,删除usb 添加nand,修改phy地址。
附件中有我使用的配置文件
zynq_s9_defconfig 放在configs文件夹中
zynq-s9.dts 放在arch/arm/dts文件夹中
并修改arch/arm/dts中的makefile文件添加 zynq-s9的设备树

修改完成后就可以编译了

首先配置交叉编译的环境变量
在安装SDK得文件夹中有settings64.sh的脚本

确认 arm-linux-gnueabihf-gcc 的版本,如图说明环境变量配置ok
在uboot文件夹中
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zynq_s9_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

在uboot根目录中会生成u-boot文件
mv u-boot u-boot.elf
改成elf的后缀名

在刚才FSBL的工程中生成boot Image
fsbl 右键 create Boot Image
最下面添加刚才编译完成的u-boot.elf

这样就生成我上一篇帖子中的boot.bin文件

----------------------------------------------------------------------------------------------
下面开始本贴正题 kernel编译
同理从官方github clone kernel https://github.com/Xilinx/linux-xlnx.git
checkout xlnx_rebase_v5.4 分支
还是刚才同样的方法配置环境变量
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage LOADADDR=0x00008000
然后我们使用zynq-zed.dts的设备数文件,修改其中的PHY地址 0 改成 1

当然其余qspi usb也需要修改 但是不改也能用。
./scripts/dtc/dtc -I dts -o dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zed.dts
生成设备树文件
到此kernel及设备树编译完成
会有两个我们需要的文件
一个实根目录下的 devicetree.dtb 和 arch/arm/boot/中的uImage 内核文件
---------------------------------------------------------------------------------------------
下面是SD卡配置及rootfs文件系统
准备一张4G以上的TF卡,在linux下分成两个区
第一个分区 255M其余为第二个分区
sudo mkfs.vfat -F 32 -n "boot" /dev/sdx1 将第一个分区格式化为fat32
sudo mkfs.ext4 -L "rootfs" /dev/sdx2 将第二个分区格式化为ext4
第一个分区作为启动分区,第二分区为文件系统
将我们之前生成的三个文件 boot.bin devicetree.dtb uImage 拷贝到第一个分区中
并创建一个uEnv.txt的文件,在其中添加

uenvcmd=run linaro_sdboot;
linaro_sdboot=echo Copying Linux from SD to RAM...... && echo load Kernel Image && fatload mmc 0 0x3000000 ${kernel_image} && echo load DTB && fatload mmc 0 0x2A00000 ${devicetree_image} && echo Booting...&& bootm 0x3000000 - 0x2A00000;
bootargs=console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait;

这个表示启动加载Image 设备树并且从第二个分区加载rootfs
至此TF第一个分区文件创建结束


第二分区rootfs创建
下载linaro的文件系统 https://releases.linaro.org/arch ... 20151215-714.tar.gz
解压
然后进入binary
cd binary
sudo rsync -a ./* /media/xxx/rootfs/
后面为tf卡第二扇区的挂载点
这样rootfs创建完成

-------------------------------------------------------------
将TF卡插入板子上 调整跳线帽 JP1~4 为0101 从TF启动
接上串口
就可以看到打印信息直到系统启动


参考文章:
http://www.digilent.com.cn/community/571.html
https://www.cnblogs.com/idyllcheung/p/11258065.html
----------------------------------------------------------------
填坑结束
然后简单说一下那这个板子准备做的一些事情。
1 双路AD采集,由于PL口扇出IO不是很丰富,估计挂一片AD也就差不多 预计采用AD9643 14位 250Msps 采样 淘宝拆机片才10几块钱
2 双路DA输出 暂无选型
3.以上两个组合可以实现网份等功能
如果有感兴趣的可以一起讨论。
以上

附件为TF第一扇区的4个文件和 uboot 的两个配置文件



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2020-5-5 19:57:50 | 显示全部楼层
chinaboy25 发表于 2020-5-5 18:26
支持支持,有原理图吗?

参看我的第一篇帖子 里面有

出0入0汤圆

 楼主| 发表于 2020-5-6 09:12:21 | 显示全部楼层
erdao 发表于 2020-5-6 09:05
楼主,网口用起来了么?

用起来啦,里面说的改PHY地址0改成1就可以。

出0入0汤圆

 楼主| 发表于 2020-5-6 09:13:06 | 显示全部楼层
zxq6 发表于 2020-5-5 22:15
wsl的性能据说比不上虚拟机vmware,是不是的?因为我尝试过在wsl的ubuntu里面安装petalinux,说无法分配内存 ...

反正编译这种需要IO读写的 远不如实体机。保守估计差几十倍速度。

出0入0汤圆

 楼主| 发表于 2020-7-14 12:26:01 | 显示全部楼层
fchen2 发表于 2020-7-14 11:16
能否咨询下楼主,手头没有这块板JTAG排针,无法使用下载器。如何使用uboot烧录 启动文件到NAND上?这样可以 ...

您做BOOT.bin中包含fsbl了吗?
如果现在SD可以用的话 可以通过SD启动,然后刷写NAND。
可以把附件的BOOT.bin 复制到tf卡中,从tf卡启动,在uboot 中输入 run tf_update_uboot
就可以将TF卡中 BOOT.bin 烧录到nand中啦。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2020-7-14 12:56:19 来自手机 | 显示全部楼层
fchen2 发表于 2020-7-14 12:38
多谢,SD卡启动没有问题。就是写到NAND里系统不启动

您可以试一下上面附件中的启动文件,但是如果从nand 启动后面还要涉及nand的分区 和文件系统.还是比较麻烦的

出0入0汤圆

 楼主| 发表于 2020-7-14 16:05:48 | 显示全部楼层
fchen2 发表于 2020-7-14 16:01
总结一下,如果板子可以启动,可以直接烧录到NAND,不需要另外一个fsbl.elf文件,那个文件是JTAG用来初始化 ...

是的 fsbl 已经包含在BOOT.bin文件中了,所以是不需要再烧录的。
一般我很少用jtag去烧写boot.bin.
这款控制板 如果能从TF启动就直接烧写我的那个boot.bin文件,应该是可以启动uboot的。
如果tf卡有问题,比特大陆原始的uboot文件也可以使用tftp 烧写。
您这边看一下烧写log
我这边正常如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2020-7-14 17:34:10 | 显示全部楼层
fchen2 发表于 2020-7-14 16:35
多谢了,可以烧录您的uboot到NAND上,但是启动不了。注释掉 nand_chip->bbt_options = NAND_BBT_USE_FLASH; ...

按理说如果烧写的时候不提示有坏块,这个uboot是可以正常启动的。
我只有在烧写rootfs时遇到了坏块提示,擦写时会规避坏块的。
log如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2020-7-15 20:37:15 | 显示全部楼层
fchen2 发表于 2020-7-15 18:52
跟我这块板坏块情况一样。这样看来这是uboot做的标记,不知道为啥在我这里会影响启动。
昨天把内核、文件 ...

文件系统还是用busybox去做吧,用ubuntu的文件系统 太庞大了,放不下。
用busybox 需要什么再交叉编译什么就行,体积可控。

出0入0汤圆

 楼主| 发表于 2020-9-4 19:03:29 | 显示全部楼层
mangolu 发表于 2020-9-4 15:31
LZ,我没有xilinx的帐号,能否网盘共享一下软件?谢谢

这个你必须自己注册 安装时候也需要这个账号的

出0入0汤圆

 楼主| 发表于 2020-9-5 11:20:58 | 显示全部楼层
mangolu 发表于 2020-9-5 10:16
注册帐号就能免费使用软件?不是要交费吧?我只是个人玩玩,想学习一下,想要找那种石皮角牛的。 ...

不用缴费
收费和免费的体现在部分ip核能不能用。
个人用免费版足够用了。

出0入0汤圆

 楼主| 发表于 2023-1-10 15:53:23 | 显示全部楼层
spli 发表于 2022-12-5 20:41
前辈,我手上有块同型号的矿板,现在遇到一个问题:参考正点原子的视频教程用VIVADO制作的BOOT.bin无法从SD ...
(引用自41楼)

您看一下我上面的生产boot.bin的方法。
他是有3个文件打包生成,一个fsbl 一个逻辑流文件 还有一个uboot文件。
需要看一下你的板子 启动一点log都没有 还是加载到那个部分出错了。
如果一点log都没有,可以将fsbl的debug打开,这样可以看到更多的调试信息。
我抽空也看一下正点他们的教程,有什么步骤上的差异
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-7 17:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表