0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用筆記|米爾NXP iMX 93開(kāi)發(fā)板OTA功能搭建

米爾電子 ? 2024-05-23 08:01 ? 次閱讀

1.概述

空中下載技術(shù)(Over-the-Air Technology, OTA)是通過(guò)移動(dòng)通信的空中接口實(shí)現(xiàn)對(duì)移動(dòng)終端設(shè)備及SIM卡數(shù)據(jù)進(jìn)行遠(yuǎn)程管理的技術(shù)。本文采用了swupdate的方式進(jìn)行ota升級(jí),swupdate是一個(gè)基于嵌入式Linux平臺(tái)的升級(jí)服務(wù)框架程序,它提供了分區(qū)升級(jí),文件升級(jí),差分升級(jí)(補(bǔ)丁應(yīng)用)功能,并提供了開(kāi)放接口,方便用戶添加自定義升級(jí)處理函數(shù)。本應(yīng)用筆記主要講述如何使用搭建在米爾基于NXP iMX 93核心板系統(tǒng)中的OTA功能,實(shí)現(xiàn)對(duì)米爾基于NXP iMX 93核心板文件系統(tǒng)的遠(yuǎn)程升級(jí)。

2.環(huán)境準(zhǔn)備

2.1.軟件資源

OTA升級(jí)文件制作工具:ota-generate_swu.tar.gz(路徑:03_Tools/ota-tools)。

MYC-LMX9X-Core文件系統(tǒng):myir-image-core-myd-lmx9x.ext4(路徑:02_Images/ 或者通過(guò)Yocto編譯得到,編譯相關(guān)情況查看軟件開(kāi)發(fā)指南內(nèi)容)。

Ubuntu操作系統(tǒng)主機(jī)環(huán)境,虛擬機(jī)或者安裝的Ubuntu PC主機(jī)皆可,沒(méi)有版本要求。


2.2.硬件資源

米爾基于NXP iMX 93開(kāi)發(fā)板(或者M(jìn)YC-LMX9X核心板+自研底板,自研底板要求至少有一個(gè)網(wǎng)口或者存在Wifi芯片)。

網(wǎng)線或者Wifi天線。

開(kāi)發(fā)板電源、串口線及其他能夠確保開(kāi)發(fā)板能夠正常運(yùn)行啟動(dòng)所需求的配件。


2.3.主機(jī)環(huán)境配置

進(jìn)行OTA升級(jí),必須要要在Ubuntu主機(jī)環(huán)境搭建Http服務(wù)器,以下將以Ubuntu18.04的Http服務(wù)器搭建過(guò)程舉例,用戶名將以myir舉例,為了后續(xù)OTA升級(jí)使用,將Http服務(wù)器直接配置為后續(xù)可直接使用的配置。該過(guò)程僅供參考使用,如果使用其他版本的Ubuntu系統(tǒng)在搭建過(guò)程中出現(xiàn)任何以下說(shuō)明中未出現(xiàn)的錯(cuò)誤情況,請(qǐng)咨詢互聯(lián)網(wǎng)尋找解決辦法。

安裝apache2

sudo apt install -y apache2

配置環(huán)境

默認(rèn)是80端口,防止其他情況使用導(dǎo)致沖突,修改為自定義端口:8001,修改 /etc/apache2/ports.conf文件監(jiān)聽(tīng)端口:

$:vi/etc/apache2/ports.confListen8001##其它行不變

修改/etc/apache2/sites-enabled/000-default.conf文件端口與訪問(wèn)目錄,方便后續(xù)使用。

$:vi/etc/apache2/sites-enabled/000-default.conf8001> ## 其他行不變#DocumentRoot /var/www/html ## 默認(rèn)瀏覽器訪問(wèn)目錄,注釋掉DocumentRoot/home/myir/swupdate##修改為此目錄,用戶名請(qǐng)根據(jù)修改做修改

修改apache2的配置文件/etc/apache2/apache2.conf:

$: vi /etc/apache2/apache2.conf##找到如下行,并修改為如下內(nèi)容# ##配置文件默認(rèn)目錄,注釋掉 Options Indexes FollowSymLinks AllowOverride None Require all granted

重啟服務(wù)

$: sudo /etc/init.d/apache2 restart

測(cè)試

如果是虛擬機(jī)請(qǐng)修改Ubuntu網(wǎng)絡(luò)配置為橋接網(wǎng)卡讓虛擬機(jī)和Windows主機(jī)為同一IP下,如果是其他環(huán)境則可以直接打開(kāi)瀏覽器,并在瀏覽器中輸入http://{hostIP}:8001,此處hostIP為配置了http服務(wù)器的Ubuntu的ip地址,例如Ubuntu 的ip地址為192.168.1.20,則在瀏覽器中輸入//192.168.1.20:8001,成功則如下圖所示:

9e04595e-1897-11ef-bebc-92fbcf53809c.png圖2-1. http搭建成功

3.升級(jí)原理

OTA簡(jiǎn)單理解就是在線升級(jí)固件,將固件從服務(wù)器下載之后,相應(yīng)的寫(xiě)入對(duì)應(yīng)的分區(qū),在這個(gè)過(guò)程中可能會(huì)存在燒錄中斷電或者其他原因?qū)е路謪^(qū)損壞了問(wèn)題,所以MYD-LMX9X選擇了AB對(duì)稱分區(qū)的方式來(lái)保存文件系統(tǒng)。

3.1.AB分區(qū)介紹

對(duì)于MYD-LMX9X的AB對(duì)稱文件系統(tǒng),首先做了以下邏輯處理:

首先在Uboot的env變量中添加了boot_limit,mmcbootpart,mmcbootpart_back三個(gè)變量,并且對(duì)它們添加了一定的邏輯判斷,可以通過(guò)uboot命令行看到:

u-boot=>printenvboot_limitboot_limit=3u-boot=> printenv mmcbootpartmmcbootpart=2u-boot=> printenv mmcbootpart_backmmcbootpart_back=3bsp_bootcmd=echoRunningBSPbootcmd...;mmcdev${mmcdev};ifmmcrescan;thenifrunloadbootscript;thenrunbootscript;elseiftest${sec_boot}=yes;thenifrunloadcntr;thenrunmmcboot;elserunnetboot;fi;elseifrunloadimage;theniftest${boot_limit}-gt0;thensetexprboot_limit ${boot_limit}-1;setenvboot_limit${boot_limit};saveenv;setenvmmcroot/dev/mmcblk${mmcdev}p${mmcbootpart}rootwaitrw;elsesetenvmmcroot/dev/mmcblk${mmcdev}p${mmcbootpart_back}rootwaitrw;fi;runmmcboot;elserunnetboot;fi;fi;fi;fi;

boot_limit的值每當(dāng)開(kāi)發(fā)板上電進(jìn)入uboot后會(huì)將其減一,可以通過(guò)上述高亮的地方可以查看到,但是當(dāng)文件系統(tǒng)啟動(dòng)成功后會(huì)被設(shè)置為3,所以假如出現(xiàn)了文件系統(tǒng)損壞的問(wèn)題導(dǎo)致無(wú)法啟動(dòng),boot_limit無(wú)法被設(shè)置為3,并且文件系統(tǒng)啟動(dòng)失敗后會(huì)自動(dòng)運(yùn)行看門(mén)狗重啟,看門(mén)狗默認(rèn)時(shí)間為60s,當(dāng)發(fā)現(xiàn)啟動(dòng)失敗后手動(dòng)重啟系統(tǒng)也是一樣的,重啟后再次進(jìn)入uboot,此時(shí)由于boot_limit沒(méi)有被設(shè)置為3,所以此時(shí)boot_limit值為2,并且則會(huì)被再次減一。

mmcbootpart變量是當(dāng)前啟動(dòng)的分區(qū)號(hào),比如上述中值為2,則稍后會(huì)從mmcblk0p2啟動(dòng);mmcbootpart_back是備份啟動(dòng)的分區(qū)號(hào),如上述中值為3,則文件系統(tǒng)mmcblk0p2無(wú)法啟動(dòng)或者啟動(dòng)錯(cuò)誤后,在boot_limit值在重啟多次后為0時(shí),將會(huì)啟動(dòng)mmcblk0p3備份分區(qū)。

具體的運(yùn)行邏輯流程圖如下:

9e1a8f80-1897-11ef-bebc-92fbcf53809c.png圖3-1. AB分區(qū)流程圖

可以在文件系統(tǒng)中執(zhí)行以下命令查看到eMMC中分區(qū)的情況:

root@myd-lmx9x:~#cat/proc/partitionsmajor minor #blocks name179 0 7634944 mmcblk0179 1 102400 mmcblk0p1 #Image+dtb內(nèi)核和設(shè)備樹(shù)文件存放分區(qū)179 2 3686400 mmcblk0p2 #A文件系統(tǒng)分區(qū)179 3 3686400 mmcblk0p3 #B文件系統(tǒng)分區(qū)179 32 32640 mmcblk0boot01796432640mmcblk0boot1

3.2.Swupdate介紹

本節(jié)將介紹在上章節(jié)中,在進(jìn)入文件系統(tǒng)后會(huì)進(jìn)行swupdate的更新,該更新由systemd的服務(wù)啟動(dòng),是自動(dòng)更新,只需要修改對(duì)應(yīng)的ip地址路徑的配置即可。

首先介紹swupdate更新會(huì)需要到的swu文件,該文件由腳本制作生產(chǎn),該制作工具壓縮包已存放在03_Tools中,名稱為ota-generate_swu.tar.gz,具體制作過(guò)程后續(xù)4.1章節(jié)會(huì)介紹,在這里先介紹其中swu文件的配置文件sw-description,該文件如下所示:

software ={ version = "1.1"; description = "Firmware update for myd-lmx9x" myd-lmx9x = { hardware-compatibility: [ "1.0", "1.1" ]; stable: { main: { images:( { filename = "myir-image-core-myd-lmx9x.ext4"; device = "/dev/mmcblk0p3"; filesystem = "ext4" ; } ); bootenv:( { name="mmcbootpart"; value="3"; }, { name="mmcbootpart_back"; value="2"; } ); scripts: ( { filename = "update.sh"; type = "shellscript"; } ); };

其中包含了version,設(shè)備名稱myd-lmx9x,硬件版本hardware-compatibility,stable和之中的main分支,以及images、bootenv、scripts參數(shù)。

系統(tǒng)內(nèi)已經(jīng)安裝了自啟動(dòng)服務(wù),在系統(tǒng)開(kāi)機(jī)后將會(huì)自行執(zhí)行,輸入以下命令查看服務(wù)具體內(nèi)容:

[Unit]Description=SWUpdate daemonAfter=swupdate.service
[Service]ExecStart=/etc/myir-swupdate.shKillMode=mixed
[Install]WantedBy=multi-user.target

該服務(wù)將會(huì)自動(dòng)執(zhí)行/etc/myir-swupdate.sh腳本,查看該腳本內(nèi)容:

#!/bin/sh. /etc/board_part_info.confecho EMMC_DEV ${EMMC_DEV}echo SD_DEV ${SD_DEV}echo ROOTFS_A_PART=${ROOTFS_A_PART}echo ROOTFS_B_PART=${ROOTFS_B_PART}current_rootfs=""check_root_part_cmdline(){ cmdline=`cat /proc/cmdline` for i in $cmdline do if [[ `echo $i | grep "root="` != "" ]];then current_rootfs=${i##*/} fi done}check_need_repalce_env(){ echo ${current_rootfs} result=$(echo ${current_rootfs} | grep "mmcblk") if [[ ${result} != "" ]];then bootdev=${current_rootfs%p*} #echo bootdev ${bootdev} if [[ `grep ${bootdev} /etc/fw_env.config` == "" ]];then sed -i "s/mmcblk[0-9]*/${bootdev}/g" /etc/fw_env.config fi fi}function_on_different_part(){ case ${current_rootfs:0-1} in ${ROOTFS_A_PART}) echo "rootfs A part" fw_setenv swu_mode 0 fw_setenv boot_limit 3 fw_setenv mmcbootpart ${ROOTFS_A_PART} fw_setenv mmcbootpart_back ${ROOTFS_B_PART} echo "SWUPDATE_ARGS="-v -d -uhttp://192.168.1.20/MYD-LMX9X-IMAGE/myd-lmx9x.swu -e stable,main"" > /etc/myir-swupdate.cfg ;; ${ROOTFS_B_PART}) echo "rootfs B part" fw_setenv swu_mode 0 fw_setenv boot_limit 3 fw_setenv mmcbootpart ${ROOTFS_B_PART} fw_setenv mmcbootpart_back ${ROOTFS_A_PART} echo "SWUPDATE_ARGS="-v -d -uhttp://192.168.1.20/MYD-LMX9X-IMAGE/myd-lmx9x.swu -e stable,alt"" > /etc/myir-swupdate.cfg ;; *) echo "con not distinguish part" exit 1 esac}check_root_part_cmdlinecheck_need_repalce_envfunction_on_different_part

該腳本中,就會(huì)執(zhí)行上一章節(jié)提到的env變量默認(rèn)設(shè)置,以及會(huì)將修改/etc/fw_env.config文件,配置正確的fw_env工具可以使用的配置文件,fw_env其中包含了fw_printenv和fw_setenv可以再文件系統(tǒng)中修改uboot的env環(huán)境變量。

該腳本最后一部分將會(huì)把swupdate需要的配置信息添加到/etc/myir-swupdate.cfg中:

root@myd-lmx9x:~# cat /etc/myir-swupdate.cfgSWUPDATE_ARGS="-v -d -uhttp://192.168.1.20/MYD-LMX9X-IMAGE/myd-lmx9x.swu -e stable,main"

其中包含了http服務(wù)器的具體ip,和swu文件的路徑,已經(jīng)sw-description中的分支選擇。

4.操作步驟

4.1.遠(yuǎn)程升級(jí)

要實(shí)現(xiàn)OTA功能,至少需要兩塊設(shè)備,分別是服務(wù)器與客戶端。服務(wù)器只有一個(gè),就是MYD-LMX9X(本文以下皆用MYD-LMX9X開(kāi)發(fā)板做為示例)。開(kāi)發(fā)板通過(guò)串口與PC機(jī)連接,或者也可以通過(guò)ssh的方式遠(yuǎn)程訪問(wèn)開(kāi)發(fā)板的串口,這個(gè)步驟可以閱讀快速入門(mén)指南和評(píng)估指南了解具體信息。然后將需要OTA需要的swu文件存放于PC主機(jī),然后開(kāi)發(fā)板執(zhí)行對(duì)應(yīng)命令即可完成OTA升級(jí),接下來(lái)詳細(xì)介紹操作步驟和注意事項(xiàng)。

4.1.1.制作swu文件

首先通過(guò)MYD-LMX9X的米爾電子下載中心鏈接或者百度網(wǎng)盤(pán)共享鏈接獲取OTA升級(jí)文件制作工具:ota-generate_swu.tar.gz。

1)解壓工具

在Ubuntu主機(jī)下創(chuàng)建工作目錄并解壓該工具,解壓完成后進(jìn)入目錄:

$: mkdir ~/swupdate$: cp /ota-generate_swu.tar.gz ~/swupdate/ota-generate_swu.tar.gz# 此處的請(qǐng)根據(jù)實(shí)際情況填寫(xiě)文件所在路徑$: cd ~/swupdate$: tar xvf ota-generate_swu.tar.gz$: ls -latotal 24drwxrwxr-x 3 beste beste 4096 4月 9 17:52 .drwxrwx--- 55 beste beste 4096 4月 9 17:52 ..-rw-rw-r-- 1 beste beste 10240 4月 9 17:52 ota-generate_swu.tar.gzdrwxrwxr-x 2 beste beste 4096 4月 9 17:51 swupdate-ota$: cd swupdate-ota$: lsgenerate_swu.sh readme.txt sw-description update.sh

2)sw-description說(shuō)明

swupdate 采用cpio的方式進(jìn)行歸檔,該文件是描述文件,默認(rèn)名稱為sw-description。該文件描述了升級(jí)包歸檔文件中的文件信息和升級(jí)信息。sw-description內(nèi)容如下:

software ={ version = "1.1"; description = "Firmware update for myd-lmx9x" myd-lmx9x = { hardware-compatibility: [ "1.0", "1.1" ]; stable: { main: { images:( { filename = "myir-image-core-myd-lmx9x.ext4"; device = "/dev/mmcblk0p3"; filesystem = "ext4" ; } ); bootenv:( { name="mmcbootpart"; value="3"; }, { name="mmcbootpart_back"; value="2"; } ); scripts: ( { filename = "update.sh"; type = "shellscript"; } ); }; alt: { images:( { filename = "myir-image-full-mys-8mmx.ext4.gz"; compressed = "zlib"; device = "/dev/mmcblk0p2"; } ); bootenv:( { name="mmcbootpart"; value="2"; }, { name="mmcbootpart_back"; value="3"; } ); scripts: ( { filename = "update.sh"; type = "shellscript"; } ); }; }; };}

該文件中的內(nèi)容中,部分關(guān)鍵字將會(huì)在后續(xù)的開(kāi)發(fā)板中進(jìn)行update時(shí)使用到,這里可以先打開(kāi)MYD-LMX9X開(kāi)發(fā)板的串口查看下稍后會(huì)使用到的腳本,開(kāi)發(fā)板e(cuò)MMC啟動(dòng)上電并打開(kāi)串口:

root@myd-lmx9x:~# ls /etc/myir-swupdate*/etc/myir-swupdate.cfg /etc/myir-swupdate.sh

可以看到swupdate使用到的腳本和cfg配置文件,打開(kāi)配置文件:

root@myd-lmx9x:~# cat /etc/myir-swupdate.cfgSWUPDATE_ARGS="-v -d -uhttp://192.168.1.20/MYD-LMX9X-IMAGE/myd-lmx9x.swu -e stable,main"

如果沒(méi)有此配置文件,請(qǐng)先執(zhí)行如下腳本,關(guān)于該腳本的具體描述,會(huì)在后續(xù)的3.1.2章節(jié)講述:

root@myd-lmx9x:~# /etc/myir-swupdate.shEMMC_DEV 2SD_DEV 1ROOTFS_A_PART=2ROOTFS_B_PART=3mmcblk0p2rootfs B part

可以看到配置的swu文件路徑為http://192.168.1.20/MYD-LMX9X-IMAGE/myd-lmx9x.swu,其中選擇sw-description說(shuō)明文件中stable的main分支,可以對(duì)比參考剛才sw-description中的內(nèi)容閱讀理解。

其中選擇main分支下的內(nèi)容則將把myir-image-core-myd-lmx9x.ext4文件系統(tǒng)燒錄到/dev/mmcblk0p3也就是開(kāi)發(fā)板e(cuò)MMC下的第三個(gè)分區(qū),其中mmcblk0p1第一個(gè)分區(qū)為內(nèi)核文件和設(shè)備樹(shù)文件存放分區(qū),mmcblk0p2和mmcblk0p3是文件系統(tǒng)分區(qū)A和文件系統(tǒng)分區(qū)B。

3)構(gòu)建swu文件

從02_Image或者Yocto構(gòu)建編譯獲取到myir-image-core-myd-lmx9x.ext4,并將其放到swupdate-ota目錄下

$: cp /myir-image-core-myd-lmx9x.ext4 ~/swupdate/swupdate-ota# 此處的請(qǐng)根據(jù)實(shí)際情況填寫(xiě)文件所在路徑$: lsgenerate_swu.sh myir-image-core-myd-lmx9x.ext4 readme.txt sw-description update.sh

然后將新添加的文件加入generate_swu.sh腳本:

#!/bin/bash
CONTAINER_VER="1.1"PRODUCT_NAME="myd-lmx9x"FILES="sw-description myir-image-core-myd-lmx9x.ext4 update.sh"
#openssl dgst -sha256 -sign swupdate-priv.pem sw-description > sw-description.sig
for i in $FILES;do echo $i;done | cpio -ov -H crc > ${PRODUCT_NAME}_${CONTAINER_VER}.swu

最后執(zhí)行g(shù)enerate_swu.sh腳本文件:

$: ./generate_swu.shsw-descriptionmyir-image-core-myd-lmx9x.ext4update.sh2362324 blocks

可以看到需要的swu文件myd-lmx9x_1.1.swu構(gòu)建完成。

$: lsgenerate_swu.sh myd-lmx9x_1.1.swu myir-image-core-myd-lmx9x.ext4 readme.txt sw-description update.sh

在執(zhí)行接下來(lái)的步驟之前,要確保http服務(wù)器上可以正常訪問(wèn)到myd-lmx9x_1.1.swu文件,如下圖所示:

9e39006e-1897-11ef-bebc-92fbcf53809c.png圖4-1. http服務(wù)器

保證開(kāi)發(fā)板和搭建了http服務(wù)器ubuntu主機(jī)系統(tǒng)處于同一個(gè)網(wǎng)段下,如本文示例,開(kāi)發(fā)板的ip為192.168.1.56,ubuntu主機(jī)ip為192.168.1.20,并且確保互相能夠ping通。

# 查看ubuntu主機(jī) ip$ ifconfigenp0s3: flags=4163 mtu 1500 inet 192.168.1.20 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80:d51c270c prefixlen 64 scopeid 0x20 ether 08276a:48 txqueuelen 1000 (Ethernet) RX packets 1132717 bytes 1333243911 (1.3 GB) RX errors 0 dropped 6181 overruns 0 frame 0 TX packets 64347 bytes 19130410 (19.1 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0# 查看MYD-LMX9X開(kāi)發(fā)板 iproot@myd-lmx9x:~# ifconfig eth0eth0: flags=4163 mtu 1500 inet 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80:54ff88fb prefixlen 64 scopeid 0x20 ether 465488:fb txqueuelen 1000 (Ethernet) RX packets 10516 bytes 989859 (966.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 589 bytes 46288 (45.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0# 嘗試Ping ubuntu主機(jī)root@myd-lmx9x:~# ping 192.168.1.20PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.64 bytes from 192.168.1.20: icmp_seq=1 ttl=63 time=60.2 ms64 bytes from 192.168.1.20: icmp_seq=2 ttl=63 time=5.73 ms64 bytes from 192.168.1.20: icmp_seq=3 ttl=63 time=4.94 ms64 bytes from 192.168.1.20: icmp_seq=4 ttl=63 time=2.95 ms^C--- 192.168.1.20 ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 3004msrtt min/avg/max/mdev = 2.948/18.442/60.151/24.101 ms

4.1.2.更新系統(tǒng)

完成上面的步驟后,開(kāi)機(jī)進(jìn)入文件系統(tǒng),修改/etc/swupdate.sh,將網(wǎng)絡(luò)地址修改為實(shí)際情況下的ip以及對(duì)應(yīng)的文件路徑:

echo "SWUPDATE_ARGS="-v -d -uhttp://192.168.1.20/swupdate-ota/myd-lmx9x_1.1.swu -e stable,main"" > /etc/myir-swupdate.cfg

修改完成后保存,重啟開(kāi)發(fā)板后將會(huì)自動(dòng)更新該swu文件。

9e3ccb0e-1897-11ef-bebc-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    60

    文章

    1254

    瀏覽量

    182467
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4834

    瀏覽量

    96820
  • 米爾電子
    +關(guān)注

    關(guān)注

    0

    文章

    96

    瀏覽量

    429
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    米爾NXP i.MX 93開(kāi)發(fā)板的Qt開(kāi)發(fā)指南

    1.概述Qt是一個(gè)跨平臺(tái)的圖形應(yīng)用開(kāi)發(fā)框架,被應(yīng)用在不同尺寸設(shè)備和平臺(tái)上,同時(shí)提供不同版權(quán)版本供用戶選擇。米爾NXPi.MX93開(kāi)發(fā)板(MYD-LMX9X
    的頭像 發(fā)表于 06-07 08:01 ?1573次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX <b class='flag-5'>93</b><b class='flag-5'>開(kāi)發(fā)板</b>的Qt<b class='flag-5'>開(kāi)發(fā)</b>指南

    米爾基于NXP iMX.93開(kāi)發(fā)板的M33處理器應(yīng)用開(kāi)發(fā)筆記

    資源MYD-LMX9X開(kāi)發(fā)板米爾基于NXPiMX.93開(kāi)發(fā)板)3.軟件資源Windows7及以上版本軟件:IAREmbeddedWorkbench4.板載固件調(diào)試
    的頭像 發(fā)表于 06-29 08:01 ?1137次閱讀
    <b class='flag-5'>米爾</b>基于<b class='flag-5'>NXP</b> <b class='flag-5'>iMX.93</b><b class='flag-5'>開(kāi)發(fā)板</b>的M33處理器應(yīng)用<b class='flag-5'>開(kāi)發(fā)筆記</b>

    米爾NXP i.MX 93開(kāi)發(fā)板的Qt開(kāi)發(fā)指南

    1. 概述Qt 是一個(gè)跨平臺(tái)的圖形應(yīng)用開(kāi)發(fā)框架,被應(yīng)用在不同尺寸設(shè)備和平臺(tái)上,同時(shí)提供不同版權(quán)版本供用戶選擇。米爾 NXP i.MX 93 開(kāi)發(fā)板
    發(fā)表于 06-07 20:45

    【正點(diǎn)原子i.MX93開(kāi)發(fā)板試用連載體驗(yàn)】+開(kāi)箱與硬件介紹

    ,應(yīng)用領(lǐng)域更加廣泛。而iMX 95性能太強(qiáng),通常用來(lái)跑安卓,很多場(chǎng)合用不到。本次評(píng)測(cè)的這款開(kāi)發(fā)板來(lái)自正點(diǎn)原子,名為ATK-DLIMX93。其正反面如下圖所示 正點(diǎn)原子之前就推出過(guò)NXP
    發(fā)表于 07-23 00:27

    米爾NXP i.MX 93開(kāi)發(fā)板試用評(píng)測(cè)】04.OpenWRT的構(gòu)建-開(kāi)始編譯

    Community。 然后在里面發(fā)現(xiàn)了iMX93竟然也支持了Openwrt,雖然他支持的是NXPiMX93 EVK開(kāi)發(fā)板,但是這就相同芯片再加上開(kāi)源的我們完全有可能在
    發(fā)表于 09-19 14:36

    米爾NXP i.MX 93開(kāi)發(fā)板試用評(píng)測(cè)】05.OpenWRT的構(gòu)建-構(gòu)建完成和燒錄

    openwrt-imx-cortexa55-imx93evk-squashfs-sdcard.img燒寫(xiě)到SD卡里,然后撥碼0000,啟動(dòng)就完事了。 ... 啥,又啟動(dòng)失敗了? 不啟動(dòng)失敗才有鬼哩,bootloader是用的米爾的,其他都是
    發(fā)表于 09-20 17:30

    應(yīng)用筆記-iMX8MP開(kāi)發(fā)板在UUU燒寫(xiě)時(shí)卡在99%

    應(yīng)用筆記-iMX8MP開(kāi)發(fā)板在UUU燒寫(xiě)時(shí)卡在99%近期查看飛凌嵌入式技術(shù)支持部門(mén)問(wèn)題反饋列表時(shí),發(fā)現(xiàn)部分客戶反饋iMX8MP產(chǎn)品用UUU燒寫(xiě)時(shí)卡在99%處,并且問(wèn)題反饋用的都是同一個(gè)
    發(fā)表于 03-30 10:48

    米爾科技NXP LPC1857 LPC1850 Cortex-M3開(kāi)發(fā)板概述

    MYD-LPC185X系列開(kāi)發(fā)板是深圳市米爾科技有限公司推出的基于NXP(恩智浦)LPC185X系列處理器(Cortex-M3內(nèi)核)開(kāi)發(fā)板
    的頭像 發(fā)表于 11-04 14:46 ?4259次閱讀
     <b class='flag-5'>米爾</b>科技<b class='flag-5'>NXP</b> LPC1857 LPC1850 Cortex-M3<b class='flag-5'>開(kāi)發(fā)板</b>概述

    NXP iMX8MP開(kāi)發(fā)板的試用體驗(yàn)

    NXP iMX8MP開(kāi)發(fā)板試用體驗(yàn)
    的頭像 發(fā)表于 06-06 10:42 ?2068次閱讀

    金秋回饋100%中獎(jiǎng),買(mǎi)米爾NXP系列開(kāi)發(fā)板

    各位筒子們!金秋好時(shí)節(jié),米爾NXP系列開(kāi)發(fā)板搞活動(dòng)啦~~超多福利優(yōu)惠都給你們妥妥地安排上給你的秋天加點(diǎn)猛料!一直以來(lái),米爾NXP都保持深度
    的頭像 發(fā)表于 09-15 08:01 ?492次閱讀
    金秋回饋100%中獎(jiǎng),買(mǎi)<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b>系列<b class='flag-5'>開(kāi)發(fā)板</b>

    米爾NXP系列開(kāi)發(fā)板優(yōu)惠大放送

    一直以來(lái),米爾NXP都保持深度合作。米爾推出基于NXP系列的低、中、高端核心開(kāi)發(fā)板,為客戶提
    的頭像 發(fā)表于 09-16 14:40 ?565次閱讀
    <b class='flag-5'>米爾</b><b class='flag-5'>NXP</b>系列<b class='flag-5'>開(kāi)發(fā)板</b>優(yōu)惠大放送

    ELF 1技術(shù)貼|在NXP源碼基礎(chǔ)上適配ELF 1開(kāi)發(fā)板的LED功能

    本次源碼適配工作是在NXPi.MX6ULLEVK評(píng)估的Linux內(nèi)核源碼(特定版本:Linux-imx_4.1.15)基礎(chǔ)上進(jìn)行的。主要目標(biāo)是調(diào)整功能接口引腳配置,以適應(yīng)ELF1開(kāi)發(fā)板
    的頭像 發(fā)表于 12-29 10:04 ?755次閱讀
    ELF 1技術(shù)貼|在<b class='flag-5'>NXP</b>源碼基礎(chǔ)上適配ELF 1<b class='flag-5'>開(kāi)發(fā)板</b>的LED<b class='flag-5'>功能</b>

    免費(fèi)!NXP i.MX 93開(kāi)發(fā)板有獎(jiǎng)試用

    米爾NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開(kāi)發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了2塊價(jià)值678
    的頭像 發(fā)表于 05-23 08:01 ?593次閱讀
    免費(fèi)!<b class='flag-5'>NXP</b> i.MX <b class='flag-5'>93</b><b class='flag-5'>開(kāi)發(fā)板</b>有獎(jiǎng)試用

    點(diǎn)擊參與米爾NXP i.MX 93開(kāi)發(fā)板有獎(jiǎng)試用

    米爾NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開(kāi)發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了3塊價(jià)值678元的MYD-
    的頭像 發(fā)表于 06-13 08:02 ?380次閱讀
    點(diǎn)擊參與<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX <b class='flag-5'>93</b><b class='flag-5'>開(kāi)發(fā)板</b>有獎(jiǎng)試用

    198元,米爾NXP i.MX 93開(kāi)發(fā)板,限購(gòu)300套

    。即日,米爾聯(lián)合NXP推出活動(dòng):米爾NXPi.MX93開(kāi)發(fā)板限量300套,僅售198元!此次活動(dòng)針對(duì)企業(yè)客戶參與,需要您提供公司信息和聯(lián)系方
    的頭像 發(fā)表于 09-27 08:00 ?207次閱讀
    198元,<b class='flag-5'>米爾</b><b class='flag-5'>NXP</b> i.MX <b class='flag-5'>93</b><b class='flag-5'>開(kāi)發(fā)板</b>,限購(gòu)300套