搜索
bottom↓
回复: 17

MA35D1嵌入式linux+qt开发教程

[复制链接]

出0入115汤圆

发表于 2023-1-11 10:32:52 | 显示全部楼层 |阅读模式
本帖最后由 三年模拟 于 2023-1-11 10:35 编辑

这段时间使用这款芯片,基本上已经摸透了,现在简单写个如何搭建开发环境,最后使用QT开发应用层。
1、下载官方buildroot,https://github.com/OpenNuvoton/MA35D1_Buildroot,官方提供三种不同规格的配置,我选择的是bga封装带emmc启动那款
make numaker_som_ma35d16a81_defconfig
2、接下来使用make menuconfig,这里编译器建议官方自带的,我自己也尝试用预编译的编译器,但是配置后编译会有一个编译器的内核版本错误,需要修改编译器版本号比较麻烦,使用官方则没这个问题。内核方面用官方的配置,如果设备树需要自行更改的,In-tree device tree source file name,这里更改成自己的,因为内核也是github下载的,建议先用官方配置,编译成功后再改这里。
        其它方面需要注意的是Bootloader里面MA35D1 PMIC Select,电源管理芯片配置,官方默认开启的,如果你的硬件不带这个,得关闭,不然会有问题,另外一个是Board_defconfig,env环境变量存放地址,官方默认ma35d1_sdcard0,如果是你的硬件是sdcard1,则更改,不然内核启动后会挂载不了文件系统,其余配置Target packages  --->Graphic libraries and applications (graphic/text)  --->Qt5  --->开启需要的Qt功能。
        最后,sudo make all,不出意外编译一个多小时能成功,编译成功后可烧录文件在output/images中。
3、上面使用官方buildroot的编译器来编译的qt,其实已经自带了一个qmake,具体地址在output/build/qt5base-5.15.2/bin,但是这个qmake在我配置Qt开发环境的时候,一直报错,没办法我重新下载了qt5.15.2的源码,解压源码后,在根目录里新建一个autoconfig.sh脚本,
#!/bin/sh
./configure \
-prefix /home/zl/qt5_15_buildroot \
-opensource -confirm-license \
-release \
-strip \
-shared \
-xplatform aarch64 \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-recheck-all
在qt-everywhere-src-5.15.2/qtbase/mkspecs里面把linux-aarch64-gnu-g++文件夹复制成aarch64,修改qmake.conf,主要修改的是编译器的绝对地址,使用上面buildroot自带的
#
# qmake configuration for building with aarch64
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

QT_QPA_DEFAULT_PLATFORM=linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-gcc
QMAKE_CXX               = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-g++
QMAKE_LINK              = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-g++
QMAKE_LINK_SHLIB        = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-g++

# modifications to linux.conf
QMAKE_AR                = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-objcopy
QMAKE_NM                = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-nm -P
QMAKE_STRIP             = /home/zl/nuvoton/ma35d1/MA35D1_Buildroot-master/output/host/bin/aarch64-nuvoton-linux-gnu-strip
最后,make all -j6,make install,在/home/zl/qt5_15_buildroot/bin里面会有一个新的qmake,这个qmake可以用来编译qt工程。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2023-1-11 13:32:44 | 显示全部楼层


感谢分享!

出0入36汤圆

发表于 2023-1-11 14:33:53 来自手机 | 显示全部楼层
官方开发板太贵了……买不起开发板……

出0入0汤圆

发表于 2023-1-11 14:40:17 | 显示全部楼层
关键芯片还没量产出来,现在整这个早了点,越早花时间越多,踩坑越多。

出0入115汤圆

 楼主| 发表于 2023-1-11 14:55:50 | 显示全部楼层
xmlbb 发表于 2023-1-11 14:40
关键芯片还没量产出来,现在整这个早了点,越早花时间越多,踩坑越多。
(引用自4楼)

目前纯linux开发 没有发现什么坑,我想坑可能在多核方面资源共享上,目前官方也没有这方面的资料。

出0入115汤圆

 楼主| 发表于 2023-1-11 15:02:31 | 显示全部楼层
redworlf007 发表于 2023-1-11 14:33
官方开发板太贵了……买不起开发板……
(引用自3楼)

淘宝上的核心板200来块钱,先应急,这个芯片是好芯片,但是内容多,目前资料还是不够健全,开发难度很大的,但是我仔细对比了全志的芯片,资料已经比全志要详细了。

出0入36汤圆

发表于 2023-1-11 19:04:56 | 显示全部楼层
三年模拟 发表于 2023-1-11 15:02
淘宝上的核心板200来块钱,先应急,这个芯片是好芯片,但是内容多,目前资料还是不够健全,开发难度很大 ...
(引用自6楼)

我等等吧,那个开发板太丑了,我看不下去。

出100入312汤圆

发表于 2023-1-11 19:18:39 | 显示全部楼层
三年模拟 发表于 2023-1-11 15:02
淘宝上的核心板200来块钱,先应急,这个芯片是好芯片,但是内容多,目前资料还是不够健全,开发难度很大 ...
(引用自6楼)

请教下,嵌入linux开发和fpga开发哪个入门更容易?mcu软硬件经验比较多的话,大概需要多长时间

出0入115汤圆

 楼主| 发表于 2023-1-11 20:15:44 来自手机 | 显示全部楼层
akey3000 发表于 2023-1-11 19:18
请教下,嵌入linux开发和fpga开发哪个入门更容易?mcu软硬件经验比较多的话,大概需要多长时间 ...
(引用自8楼)

fpga入门简单点,软硬件通吃能独立干mcu的活,批量出东西,估计要5年以上吧。

出100入312汤圆

发表于 2023-1-11 20:18:53 | 显示全部楼层
三年模拟 发表于 2023-1-11 20:15
fpga入门简单点,软硬件通吃能独立干mcu的活,批量出东西,估计要5年以上吧。 ...
(引用自9楼)

5年,这么说来fpga比嵌入linux难多了。嵌入linux估计1年就差不多了

出0入0汤圆

发表于 2023-1-12 12:24:58 | 显示全部楼层
目前这芯片的资料已经齐全,楼主可以找新唐代理商获取,包括M4的使用

楼主可以不用劝别人使用这芯片,有一些人不是嫌新唐开发板价格贵,就是嫌这嫌那,如果有些公司连200美元的开发板都嫌贵,还是不要使用新出来的芯片。在去年6月就已经开始在推广MA35D1,现在芯片已经量产可以批量订货,现在咨询MA35D1的人也很多,国内很多企业在使用这款芯片,还有一些欧美企业也在使用。

出0入36汤圆

发表于 2023-1-12 17:53:40 | 显示全部楼层
春风十里 发表于 2023-1-12 12:24
目前这芯片的资料已经齐全,楼主可以找新唐代理商获取,包括M4的使用

楼主可以不用劝别人使用这芯片,有一 ...
(引用自11楼)

个人用户买那个板子太贵了。。。

出0入0汤圆

发表于 2023-1-12 19:09:24 | 显示全部楼层
redworlf007 发表于 2023-1-12 17:53
个人用户买那个板子太贵了。。。
(引用自12楼)

这新出来的芯片不适合个人用户使用,还是先等个一年半载为好

出0入115汤圆

 楼主| 发表于 2023-1-12 20:51:40 来自手机 | 显示全部楼层
春风十里 发表于 2023-1-12 19:09
这新出来的芯片不适合个人用户使用,还是先等个一年半载为好
(引用自13楼)

我不喜欢代理商那边拿资料,也不需要fae什么的,我一般也是个人研究,但是最后公司都是批量的,我准备拿这个新的芯片做我司医疗设备主控,能跑qt网络can通信的就行了,m4核用来搞单片机那套,总之这个芯片很好,接下来我司买的主力芯片了。

出0入0汤圆

发表于 2023-1-13 10:37:03 | 显示全部楼层
春风十里 发表于 2023-1-12 12:24
目前这芯片的资料已经齐全,楼主可以找新唐代理商获取,包括M4的使用

楼主可以不用劝别人使用这芯片,有一 ...
(引用自11楼)

我元旦之前问新唐的代理,他们说要23 Q1,目前没芯片。

你说的有公司已经量产,我是怀疑的。

出0入0汤圆

发表于 2023-1-13 11:42:08 | 显示全部楼层
三年模拟 发表于 2023-1-12 20:51
我不喜欢代理商那边拿资料,也不需要fae什么的,我一般也是个人研究,但是最后公司都是批量的,我准备拿 ...
(引用自14楼)

楼主聪明勤奋优秀,勇于实践,这个芯片是新唐现在以及以后一段时间主推的芯片

出0入0汤圆

发表于 2023-1-13 11:46:03 | 显示全部楼层
xmlbb 发表于 2023-1-13 10:37
我元旦之前问新唐的代理,他们说要23 Q1,目前没芯片。

你说的有公司已经量产,我是怀疑的。 ...
(引用自15楼)

代理商也是有差异的,你是没有找对人,现在要订货绝对是可以

出0入0汤圆

发表于 2023-1-13 12:23:28 | 显示全部楼层
三年模拟 发表于 2023-1-12 20:51
我不喜欢代理商那边拿资料,也不需要fae什么的,我一般也是个人研究,但是最后公司都是批量的,我准备拿 ...
(引用自14楼)

你用这个芯片因为是有计划用在公司医疗设备产品中,一般使用的问题你肯定可以自己解决,就是在开发使用中如果有遇到一些驱动代码问题而无法个人解决可以联系新唐获得技术支持,望产品开发顺利
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-15 22:25

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

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