Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi Smart
SMART开箱首次测评
发布于 2022-07-07 15:20:41 浏览:1113
订阅该版
[TOCM] # 开箱 一块显示屏 一根网线 2根typec串口线 # 开机测试 接上串口线,需要安装CP2104的驱动,百度下载一个 ![image-20220707094257640.png](https://oss-club.rt-thread.org/uploads/20220707/cb3c0d00a15a2ab8f75aec8aca598a53.png "image-20220707094257640.png") ![image-20220707094318736.png](https://oss-club.rt-thread.org/uploads/20220707/55b61ea2af5f21f12f3daab94a777d12.png "image-20220707094318736.png") 复位一下 看看串口输出 ``` U-Boot 2017.03-g002b758ac9-dirty (Nov 24 2021 - 20:08:02 +0800) CPU: Freescale i.MX6ULL rev1.1 696 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 43C Reset cause: WDOG Model: Freescale i.MX6 ULL 14x14 EVK Board Board: MX6ULL 14x14 EVK DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - bad CRC, using default environment Display: TFT7016 (1024x600) Video: 1024x600x24 In: serial Out: serial Err: serial switch to partitions #0, OK mmc1(part 0) is current device Net: eth1: ethernet@020b4000, eth0: ethernet@02188000 [PRIME] Normal Boot Hit any key to stop autoboot: 0 reading /kernel/rtthread.bin 1149312 bytes read in 83 ms (13.2 MiB/s) ## Starting application at 0x80001000 ... \ | / - RT - Thread Smart Operating System / | \ 5.0.0 build Dec 15 2021 2006 - 2020 Copyright by rt-thread team lwIP-2.1.2 initialized! [15] E/drv.enet: emac device init success [20] I/I2C: I2C bus [i2c3] registered [24] I/I2C: I2C bus [i2c4] registered [83] E/drv.enet: PHY Link down, please check the cable connection and link partner setting. [117] I/SDIO: emmc card capacity 3817472 KB. found part[0], begin: 2098176, size: 500.0MB found part[1], begin: 526386176, size: 1.0GB found part[2], begin: 1600128000, size: 10.0MB found part[3], begin: 1610613760, size: 200.0MB [154] I/touch: rt_touch init success [158] I/gt911: touch device gt911 init success [163] I/sal.skt: Socket Abstraction Layer initialize success. emmc file system initialization done! Dir / sd0 mount failed! [1649] E/[RW007]: The wifi Stage 1 status 0 0 0 1 [1656] I/WLAN.dev: wlan init success [1661] I/WLAN.lwip: eth device init ok name:w0 [1666] I/WLAN.dev: wlan init success [1671] I/WLAN.lwip: eth device init ok name:w1 rw007 sn: [rw00700000000fc584a2c4d03] rw007 ver: [RW007_2.1.0-a7a0d089-57] [5128] D/drv.enet: enet1 link up [5667] W/WLAN.mgnt: F:rt_wlan_connect L:1091 not find ap! ssid:rt-thread hello rt-smart! /sd/wifi.sh wi-fi configuration file not exist in sd card! [5685] I/mcf.link.tcp: TCPServer Waiting for client on port 5555... [5692] I/mcf.link: MCF link port(3) register successfully. msh />[5728] I/mcf.trans: MCF(V0.1.0) initialized successfully. [5733] I/urpc: uRPC(V0.1.0) initialize successfully. [5739] I/mcf.trans: MCF protocol started successfully. msh /> msh /> msh /> ``` 第一次玩rtthread,开机真快,看看uboot启动内核的参数, ~~~ => => printenv baudrate=115200 board_name=EVK board_rev=14X14 boot_fdt=try bootcmd=fatload mmc 1:4 0x80001000 /kernel/rtthread.bin;dcache flush;go 0x80001000 bootcmd_linux=run findfdt;run findtee;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi; bootcmd_mfg=run mfgtool_args; if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; bootdelay=3 bootdir=/boot bootscript=echo Running bootscript from mmc ...; source console=ttymxc0 eth1addr=00:01:1f:2d:3e:5d ethact=ethernet@02188000 ethaddr=00:01:1f:2d:3e:4d ethprime=eth0 fdt_addr=0x83000000 fdt_file=100ask_imx6ull_mini.dtb fdt_high=0xffffffff fdtcontroladdr=9ef40478 findfdt=if test $fdt_file = undefined; then if test $board_name = EVK && test $board_rev = 9X9; then setenv fdt_file imx6ull-9x9-evk.dtb; fi; if test $board_name = EVK && test $board_rev = 14X14; then setenv fdt_file imx6ull-14x14-evk.dtb; fi; if test $fdt_file = undefined; then setenv fdt_file imx6ull-14x14dtb; fi; fi; image=zImage initrd_addr=0x83800000 initrd_high=0xffffffff ip_dyn=yes loadaddr=0x80800000 loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script}; loadfdt=ext2load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${bootdir}/${fdt_file} loadimage=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${image} loadtee=fatload mmc ${mmcdev}:${mmcpart} ${tee_addr} ${tee_file} mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" clk_ignore_unused mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} mmcautodetect=yes mmcboot=echo Booting from mmc ...; run mmcargs; if test ${tee} = yes; then run loadfdt; run loadtee; bootm ${tee_addr} - ${fdt_addr}; else if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi; fi; mmcdev=1 mmcpart=2 mmcroot=/dev/mmcblk1p2 rootwait rw netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp netboot=echo Booting from net ...; run netargs; setenv get_cmd tftp; ${get_cmd} ${image}; ${get_cmd} ${fdt_addr} ${fdt_file}; bootz ${loadaddr} - ${fdt_addr}; panel=TFT7016 script=boot.scr tee=no tee_addr=0x84000000 tee_file=uTee-6ullevk Environment size: 2745/8188 bytes ~~~ ![image-20220707094841332.png](https://oss-club.rt-thread.org/uploads/20220707/31cccd7357e9413be9fa558cb6857b3f.png "image-20220707094841332.png") 直接从emmc里读取了rethread的内核 放到了0x80001000的位置,直接运行内核,驱动和文件系统 终端参数 应该 是直接绑定到了内核里了,之后再研究下 # 问题 1. 我用了Ubuntu,直接的shell默认了fish,会导致smart-env.sh执行失败,切换成bash后执行无问题,目前arm架构的config没有def_config_arm,找了下gitee发现确实没有,不过没影响,默认的.config就是arm架构的,如果想要开发其他架构的芯片,需要自己手动配置下config ~~~ root@VM-QT:~/lrl/vscode/ART-Pi-smart# source smart-env.sh cp: cannot stat 'userapps/configs/def_config_arm': No such file or directory Arch => arm CC => gcc PREFIX => arm-linux-musleabi- EXEC_PATH => /root/lrl/vscode/ART-Pi-smart/tools/gnu_gcc/arm-linux-musleabi_for_x86_64-pc-linux-gnu/bin root@VM-QT:~/lrl/vscode/ART-Pi-smart# echo PATH PATH root@VM-QT:~/lrl/vscode/ART-Pi-smart# echo $PATH /opt/Qt5.8.0_localpc/Tools/QtCreator/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/lrl/vscode/ART-Pi-smart/tools/gnu_gcc/arm-linux-musleabi_for_x86_64-pc-linux-gnu/bin ~~~ 2. 编译找不到工具问题 下载工具使用python 可以通过指定python3 XXX.py来指定使用python3下载工具链,下载完成后,仍然编译不过,原因是工具链没有找到 ![image-20220707140939569.png](https://oss-club.rt-thread.org/uploads/20220707/2587b7148192d48c4428090b08ec5cb2.png.webp "image-20220707140939569.png") 在使用smart_setenv.sh脚本 会将当前目录指定为前缀,所以一定要在脚本的目录上,也就是根目录调用脚本,并且source只会在当前的终端下生效,也就是说 你用其他终端设置环境变量,不会修改你编译终端的环境变量 ![image-20220707141559699.png](https://oss-club.rt-thread.org/uploads/20220707/ac418645628f60047524f16bd2209c68.png "image-20220707141559699.png") 调整好工具链,需要重新编译makefile文件,编译完成后,第一个程序就可以编译了 3. DHCP问题 手头没有路由器,板卡自带的程序默认带了DHCP功能,设置不了静态IP 重新编译内核需要修改 ![image-20220707145944353.png](https://oss-club.rt-thread.org/uploads/20220707/6fc3c35d2bb7a0efbfd826321625c98b.png.webp "image-20220707145944353.png") ![image-20220707150005637.png](https://oss-club.rt-thread.org/uploads/20220707/c47e66c4135211568336536118c609a9.png.webp "image-20220707150005637.png") 注意 不要修改.config 编译的时候 应该是没有使用这个配置文件 需要修改rtconfig.h文件 重新编译内核,修改uboot bootcmd参数,setenv saveenv reset 修改完成后重启 ![image-20220707150328013.png](https://oss-club.rt-thread.org/uploads/20220707/60046998dcfb52c6664dcfdd7ce46850.png "image-20220707150328013.png") 启动成功挂载 ![image-20220707150604867.png](https://oss-club.rt-thread.org/uploads/20220707/653172406745431080f84d9c02d16679.png "image-20220707150604867.png") ![image-20220707150158315.png](https://oss-club.rt-thread.org/uploads/20220707/247f578928c11bbfca16420479f1991f.png "image-20220707150158315.png") # 感想 之前对RTT的了解 止于单片机使用RTOS系统,后来smart系列以为是在linux的内核上进行了精简,实际使用发现还是独立的操作系统,相比较linux开发来说,使用RTT开发环境迅速的搭建完成,收到板子的当天,在没有了解的情况下,照着文档执行了几个脚本,环境就搭建完成,直接能够开发APP了,入门非常简单,没有门槛。 刚接触 功能性方面和性能方面还没有深入了解,后续继续更新 PS.一定得先看下文档,都在sdk里,开始没看文档,碰了好多坑,梳理一下用起来还是比较简单的。
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
刘容良
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
求助vscode开发art-pi smart开发板的问题
2
vscode下载rt-smart用户态代码时udb有问题
3
RGB565 显示图片异常
4
浮点数打印,从内核态直接打印和从用户态访问设备再触发打印,效果不一致
5
csi 开启 DMA_REQ_EN_RFF 前提下,开启 CSI 就卡住无打印
6
求助如何移植rt-thread到野火imx6ull开发板上
7
RT-thread smart 用户态程序运行出错
8
art-pi-smart 编译报错
9
ART-PI Smart User 运行LED 程序崩溃
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
812
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部