基于Hi3516DV300的嵌入式系统入门演练教程(下)

2024-12-04 0 766

在操作开发板时,有很多容易被忽略的细节,但这些细节却至关重要,它们直接影响到开发过程是否能够顺利进行。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

基于Hi3516DV300的嵌入式系统入门演练教程(下)

基于Hi3516DV300的嵌入式系统入门演练教程(下)

开发板有线网络连接的重要性

基于Hi3516DV300的嵌入式系统入门演练教程(下)

基于Hi3516DV300的嵌入式系统入门演练教程(下)

使用开发板进行有线网络连接时,除了编程需求,还可以通过TFTP下载镜像或挂载NFS文件系统。在此过程中,网络知识显得尤为重要。比如,在项目开发中,若需将编译完成的程序传至开发板,有线网络便是可靠的传输途径。此外,在众多智能设备开发场景,尤其是智能家居设备开发中,这一做法尤为常见。网络稳定性有助于加速开发进度。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

基于Hi3516DV300的嵌入式系统入门演练教程(下)

当开发板网络状况不佳时,数据传输会受到干扰。若是一家初创企业正在研发智能安防设备,网络不佳会导致镜像传输频繁失败,进而直接导致产品上市时间被推迟。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

基于Hi3516DV300的嵌入式系统入门演练教程(下)

虚拟机设置的考量

sudo apt update
sudo apt upgrade

通常情况下,虚拟机的配置选用默认值即可,无需过多留意,除非遇到电脑内存或CPU资源短缺的情况。在多数常规的开发环境中,这些默认设置已能满足需求。比如,一般学生进行的小型开发项目,使用默认设置就足够了。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

基于Hi3516DV300的嵌入式系统入门演练教程(下)

若同时操作多个大型程序并开展多项工程,资源短缺的问题可能随之而来。比如,有团队在同时推进三个大型开发项目时,就遇到了内存不足、虚拟机运行缓慢的情况,不得不对虚拟机配置进行调整,以提升资源的使用效率。

sudo apt install lolcat

更换Apt仓库源

基于Hi3516DV300的嵌入式系统入门演练教程(下)

基于Hi3516DV300的嵌入式系统入门演练教程(下)

Apt的默认仓库位于美国,这导致下载速度较慢。若更换为国内的镜像源,下载速度则会得到提升。在软件开发过程中,下载速度对工作效率有显著影响。众多中国中小企业在更换镜像源后,发现软件下载时间明显缩短。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

对于常做移动应用开发的小团队来说,以前安装一个大型的编译器要花上半小时,而现在换了个源,可能只需不到十分钟,这样一来,开发速度明显提高了。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

交叉编译工具链

基于Hi3516DV300的嵌入式系统入门演练教程(下)

编译程序对交叉编译工具链至关重要。将下载并解压后的arm–linux.tgz文件拷贝至虚拟机,即可用于编译各类程序。在编写基于海思平台的应用程序等编程任务中,若缺少此工具链,编译工作将无法进行。

sudo ./arm-himix200-linux.install

众多独立开发者在进行海思芯片项目开发初期,往往忽视了交叉编译工具链的正确安装与设置,这导致了程序编译失败,进而拖慢了项目的推进速度。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

sudo apt install vim make gcc g++ patch python net-tools swig u-boot-tools bison flex 
sudo apt install python-dev libssl-dev libncurses-dev python3-dev python3-distutils 
sudo apt install build-essential lib32z1 lib32stdc++6

U-Boot的任务与配置

基于Hi3516DV300的嵌入式系统入门演练教程(下)

U-Boot的关键职责之一在于启动DDR控制器,海思公司提供了工具,能够根据xlsm表格模板生成相应的配置文件。在各个版本的开发过程中,这些配置文件会存在一些差异。例如,在对比Nor/Nand版本与eMMC版本时,配置文件在支持某些功能上会有所区别。

基于Hi3516DV300的嵌入式系统入门演练教程(下)

以某公司海思芯片的研发过程为例,在升级开发板至eMMC版本的过程中,由于对配置文件的变化不够了解,导致DDR控制器的初始化未能成功。经过一番调查,最终发现问题的根源在于两个配置文件之间的不同之处。

./sdk.unpack 

根文件系统制作

基于Hi3516DV300的嵌入式系统入门演练教程(下)

最小根文件系统由基础组件构成。在2.5版本的根文件系统制作部分,可以找到根文件系统的目录,并且这些目录可以被打包成不同格式的镜像文件。比如,ext4格式的镜像文件可以通过特定的命令进行打包。此外,将编译好的程序复制到根文件系统相应的目录中,即可完成安装过程。

# 根据使用的存储器类型进行选择,Nor和Nand使用前者,eMMC使用后者
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_defconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_emmc_defconfig
# 配置(可选)
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
# 编译
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- -j2

在搭建智能穿戴设备的系统文件时,开发者不小心删除了一个关键部件,结果系统启动不了。后来经过仔细检查,才找出了问题的根源。

cd ./osdrv/tools/pc/uboot_tools
tar -zxf hiregbin-v5.0.1.tgz
cd hiregbin-v5.0.1
sudo chmod +x hiregbin
./hiregbin ../Hi3516DV300-DMEB_4L_FLYBY-DDR3_1800M_512MB_16bitx2-A7_900M-SYSBUS_300M.xlsm ./reg.bin
cp reg.bin ../../../../opensource/uboot/u-boot-2016.11/.reg
cd ../../../../opensource/uboot/u-boot-2016.11
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin

在你们进行开发的时候,有没有碰到过类似开发板方面的问题?欢迎各位在评论区留下你们的经历,同时,也请大家点个赞,把这篇文章转发出去。

tar -zxf linux-4.9.37.tar.gz
mv linux-4.9.37 linux-4.9.y && cd linux-4.9.y
patch -p1 < ../linux-4.9.37.patch

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 行业资讯 基于Hi3516DV300的嵌入式系统入门演练教程(下) https://www.7claw.com/2799312.html

七爪网源码交易平台

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务