打印
[uCOS/RTOS]

【RTOS】RT-Thread应用创新设计大赛,麻雀一号开发

[复制链接]
2131|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ICCCCC|  楼主 | 2020-4-22 10:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ICCCCC 于 2020-7-4 20:41 编辑

RT-Thread应用创新设计大赛,麻雀一号开发
0x00:参加活动
在公众号看到这个活动,立马报名参加,报名审核通过后第二周板子就快递到,速度很快。开箱看到板子很小巧,BK7252附带的外设很多,下面粘贴下官方的介绍:麻雀一号开发板采用的主控芯片是 BK7252 , 是一款高性能 WiFi 模块,采用高集成的无线射频芯片,内部集成 2.4GHz Wi-Fi 1T1R 先进技术,支持摄像头图像输出,拥有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用和不同产品需求。模块内部拥有 512KB 内嵌 RAM 和 4Mbyte Flash 空间,CPU 主频高达 180Mhz。并且集成了天线开关、功率放大器、低噪放大器、过滤器、电源管理模块, 支 持 802.11e 以及 WMM-PS 协议, 支持 WPA、WPA2 和 WAPI 安全协议,同时集成了蓝牙 BLE 收发器,支持 BLE4.2,支持主机或从机模式。来两张照片,让大家有个感性认识:



0x01:资料下载
链接:https://realthread.cowtransfer.com/s/faaba37c7b294b,资料目录如下:



0x02:开机测试
先来一个猛如虎的操作,满足你内心深处的好奇心。电源及跟电脑通讯是使用Type-C线,这个线现在比较普遍,看准板子座子,直接怼它,如下图:

亮了红灯,绿灯,显示屏也点亮了,我们看看原理图,这两个灯表示什么


红灯是电源指示灯


这两颗灯是接到了GPIO上


USB转串口,使用CH330N芯片,如果驱动安装正常,那我们就可以在电脑上看到了串口号


BK7252模组


进入测试,打开终端软件,这里我使用putty,在下载资料包的开发工具里,终端软件设置如下:

串口号根据自己实际情况选择,波特率是115200,点击Open,进入到软件界面,界面如下:

说时迟那时快,趁着电脑不注意,直接来个回车键,终端显示了 msh />,恭喜,迈了一步,如下:

好了,由于设置软件,打开软件磨叽半天,板子开机的log信息已经发送完成,现在按下板子的复位键,重新看下开机信息,内容如下:
[D/FAL] (fal_flash_init:61) Flash device |             beken_onchip | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_flash_init:61) Flash device |         beken_onchip_crc | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_partition_init:193) Find the partition table on 'beken_onchip_crc' offset @0x0000c278.
[I/FAL] ==================== FAL partition table ====================
[I/FAL] | name       | flash_dev        |   offset   |    length  |
[I/FAL] -------------------------------------------------------------
[I/FAL] | bootloader | beken_onchip_crc | 0x00000000 | 0x0000f000 |
[I/FAL] | app        | beken_onchip_crc | 0x00010000 | 0x001a0000 |
[I/FAL] | filesystem | beken_onchip     | 0x001cb000 | 0x00121000 |
[I/FAL] | download   | beken_onchip     | 0x002ec000 | 0x00112000 |
[I/FAL] | param1     | beken_onchip     | 0x003fe000 | 0x00001000 |
[I/FAL] | param2     | beken_onchip     | 0x003ff000 | 0x00001000 |
[I/FAL] =============================================================
[I/OTA] bootloader build @ Aug 28 2019 14:31:44 FLASH ID: 0B4016(OK)
[I/FAL] RT-Thread Flash Abstraction Layer (V0.4.0) initialize success.
[I/OTA] RT-Thread OTA package(V0.2.4) initialize success.

\ | /
- RT -     Thread Operating System
/ | \     3.1.0 build Oct  9 2019
2006 - 2018 Copyright by rt-thread team
No TLV header found in flash
mac:C8 47 8C 37 4D D3
No TLV header found in flash
[FUNC]rwnxl_init
[FUNC]calibration_main
get rfcali_mode:0
tssi_th:0x6e
NO TXPWR_TAB_TAB found in flash
get dist-- b:0, g:0, n40:0, ble:0
Load default txpwr for b:000ef2fa
Load default txpwr for g:000ef330, dist:14
fit n20 table with dist:2
Load default txpwr for n40:000ee780
Load default txpwr for ble:000ef308
NO TXID found in flash, use lpf i&q:9, 9
NO TXID found in flash, use def xtal:16
xtal in flash is:16
xtal_cali:16
[FUNC]ps_init
[FUNC]func_init OVER!!!

[soft spi]:rt_soft_spi_device_init
[soft spi]:rt_soft_spi_device init ok
lwIP-2.0.2 initialized!
set dac vol:65 - indx:11,dig:30,ana:1a
set adc vol: 80 - 80
igmp_mac_filter add 224.0.0.1 01:00:5E:00:00:01
register station wlan device sucess!
igmp_mac_filter add 224.0.0.1 01:00:5E:00:00:01
register soft-ap wlan device sucess!
beken wlan hw init
---i2s register over---
---[wf]iic_bus_device_registet---
drv_pm_init
[D/FAL] (fal_flash_init:63) Flash device |             beken_onchip | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_flash_init:63) Flash device |         beken_onchip_crc | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_partition_init:176) Find the partition table on 'beken_onchip_crc' offset @0x0000c278.
[I/FAL] ==================== FAL partition table ====================
[I/FAL] | name       | flash_dev        |   offset   |    length  |
[I/FAL] -------------------------------------------------------------
[I/FAL] | bootloader | beken_onchip_crc | 0x00000000 | 0x0000f000 |
[I/FAL] | app        | beken_onchip_crc | 0x00010000 | 0x001a0000 |
[I/FAL] | filesystem | beken_onchip     | 0x001cb000 | 0x00121000 |
[I/FAL] | download   | beken_onchip     | 0x002ec000 | 0x00112000 |
[I/FAL] | param1     | beken_onchip     | 0x003fe000 | 0x00001000 |
[I/FAL] | param2     | beken_onchip     | 0x003ff000 | 0x00001000 |
[I/FAL] =============================================================
[I/FAL] RT-Thread Flash Abstraction Layer (V0.4.0) initialize success.
ROMFS File System initialized!
===sd card open:0===
msh />cmd 1:3
found a Ver2.00 or later SDCard
support 2.7~3.6V
send cmd55&cmd41 complete, card is ready
Standard Capacity SD Memory Card
cmd3 is ok, card rca:0x213f
size:400 total_block:3c800
Bsize:200;Total_block:3c800
sdcard initialize is done
[SDIO]:rt_sdcard_control, CMD=16
SD File System initialized!
[Flash]Erased ENV OK.
[Flash]Saved ENV OK.
[Flash]EasyFlash V3.0.4 is initialize success.
[Flash]You can get the latest version on https://github.com/armink/EasyFlash .
Enter normal mode...

app_init finished
[I/player] RT-Thread lightweight player v1.2.7-c1f72849-249590703_Release [build Sep  7 2019]
set_volume 65-65
adc-buf:00900dc4, adc-buf-len:5120, ch:1
audio_device_mic_opened

一本正经,装模做样的看了一遍,啥意思???大概就是各种初始化,内存及程序使用实况,飘过。。。
麻雀一号使用的是RT-Thread的命令行功能,那我们在终端软件上按下Tab键,可以罗列出可用命令,命令如下:
RT-Thread shell commands:
mac              - set_or_read_mac
rxsens           - do_rx_sens
txevm            - do_tx_evm
wifi_demo        - wifi_demo command
rfcali_cfg_mode  - rfcali cfg mode
rfcali_cfg_rate_dist - rfcali cfg rate_dist
rfcali_cfg_tssi  - rfcali cfg tssi
player           - player func test cmd.
codec_dump       - dump system registered codecs.
audio_dump       - audio_dump
fast_connect_dump - fast_connect_dump
reboot           - reboot system
set_log          - set_log on or off
soft_spi_init    - soft_spi_init
resetenv         - Reset all envrionment variable to default.
getvalue         - Get an envrionment variable by name.
saveenv          - Save all envrionment variables to flash.
printenv         - Print all envrionment variables.
setenv           - Set an envrionment variable.
netio_init       - netio server
ntp_sync         - Update time by NTP(Network Time Protocol)
ping             - ping network host
mq_pub           - publish mqtt msg
mq_start         - startup mqtt client
Jpeg_Dec         - Jpeg Decode Test
wget             - Get file by URI: wget <URI> <filename>.
list_webnet      - list webnet session
webnet_init      - webnet server init
start_airkiss    - start_ariksss
test_lcd         - TEST LCD
rt_hw_lcd_init   - rt_hw_lcd_init LCD
http_ota         - OTA by http client: http_ota [url]
gpio             - gpio sample
adc_channel_test - adc test
sleep_mode       - test sleep mode
test_lcd_ch      - test_lcd_ch
Easy_Flash_Read  - set_or_read_Easy_Flash_Read test
Easy_Flash_Write - set_or_read_Easy_Flash_Write test
fivedir_button   - fivedir_button
pin_led_sample   - pin led sample
hal_sec_test     - hal_sec_test
webclient_post_data - webclient_post_data
webclient_get_data - webclient_get_data
lcd_button_test  - lcd_button_test
mic_dac_loop     - mic dac loop
record_and_play  - record play
mjpeg_test       - mjpeg_test
camera_start     - camera_start
get_ip           - get_ip
pwm_test         - pwm test
pwr_btn_test     - pwr_btn_test
qspi_test        - test qspi_psram_dcache mode
record_amr_tcp   - record amr tcp
record_opus_tcp  - record opus tcp
record_pcm_tcp   - record pcm tcp
show_photo_test  - show camera photo
exit_photo       - exit_photo
start_photo      - start_photo
test_i2c2        - test hw i2c2
pm_level         - pm_level 1
vddram           - vddram test
uart_sample      - uart device sample
wavplay          - wavplay song.wav
list_fd          - list file descriptor
list_device      - list device in system
list_timer       - list timer in system
list_mempool     - list memory pool in system
list_memheap     - list memory heap in system
list_msgqueue    - list message queue in system
list_mailbox     - list mail box in system
list_mutex       - list mutex in system
list_event       - list event in system
list_sem         - list semaphore in system
list_thread      - list thread
version          - show RT-Thread version information
help             - RT-Thread shell help.
free             - Show the memory usage in the system.
time             - Execute command with time.
ps               - List threads in the system.
netstat          - list the information of TCP / IP
dns              - list the information of dns
ifconfig         - list the information of network interfaces
echo             - echo string to file
df               - disk free
mkfs             - format disk with file system
mkdir            - Create the DIRECTORY.
pwd              - Print the name of the current working directory.
cd               - Change the shell working directory.
rm               - Remove(unlink) the FILE(s).
cat              - Concatenate FILE(s)
mv               - Rename SOURCE to DEST.
cp               - Copy SOURCE to DEST.
ls               - List information about the FILEs.
fal              - FAL (Flash Abstraction Layer) operate.
date             - get date and time or set [year month day hour min sec]
wifi             - wifi command

每个命令后面都有简单的介绍,我们先来个显示屏的测试,敲入test_lcd,显示屏做了纯色的刷新,终端打印内容如下:

msh />test_lcd
test lcd
SHOW WHITE
SHOW BLACK
SHOW BLUE
SHOW BRED
SHOW GRED
SHOW GBLUE
SHOW RED
SHOW MAGENTA
SHOW GREEN
SHOW CYAN
SHOW YELLOW
SHOW BROWN
SHOW BRRED
SHOW GRAY
SHOW GRAY175
SHOW GRAY151
SHOW GRAY187
SHOW GRAY240

最后显示了图片,如下:


0x03:连接WIFI
连接wifi的命令是:wifi w0 join ssid password
ssid:表示wifi名,password:表示wifi密码
敲入命令:wifi w0 join Xiaomi 123@k+k
终端显示如下:
[DRV_WLAN]drivers\wlan\drv_wlan.c L917 beken_wlan_control cmd: case WIFI_INIT!
[wifi_connect]: read ap_info is empty
[wifi_connect]: normal connect
_wifi_easyjoin: ssid:Xiaomi key:123@k+k
rl_sta_start
[sa_sta]MM_RESET_REQ
[sa_sta]ME_CONFIG_REQ
[sa_sta]ME_CHAN_CONFIG_REQ
[sa_sta]MM_START_REQ
hapd_intf_add_vif,type:2, s:0, id:0
wpa_dInit
wpa_supplicant_req_scan
Setting scan request: 0.100000 sec
MANUAL_SCAN_REQ
msh />wpa_supplicant_scan
wpa_drv_scan
wpa_send_scan_req
scan_start_req_handler
wpa_driver_scan_cb
wpa_get_scan_rst:1
cipher2security 2 2 24 8
wpa_supplicant_connect
Cancelling scan request
wpa_driver_associate
scan_start_req_handler
sm_auth_send:1
sm_auth_handler
sm_assoc_rsp_handler
rc_init: station_id=0 format_mod=2 pre_type=0 short_gi=1 max_bw=0
rc_init: nss_max=0 mcs_max=7 r_idx_min=0 r_idx_max=3 no_samples=10
---------SM_CONNECT_IND_ok
wpa_driver_assoc_cb
Cancelling scan request
hapd_intf_add_key CCMP
add sta_mgmt_get_sta
sta:0, vif:0, key:0
sta_mgmt_add_key
add hw key idx:24
add TKIP
add is_broadcast_ether_addr
sta:255, vif:0, key:1
add hw key idx:1
ctrl_port_hdl:1
[wlan_connect]:start tick =  600817, connect done tick = 605304, total = 4487
[wlan_connect]:start tick =  600817, connect done tick = 605311, total = 4494
[WLAN_MGNT]wlan sta connected event callback
sta_ip_start

configuring interface mlan (with DHCP client)
dhcp_check_status_init_timer

IP UP: 192.168.31.206
[ip_up]:start tick =  600817, ip_up tick = 606293, total = 5476
write new profile to flash 0x001FF000 72 byte!
user=user
fc_ssid=Xiaomi_huateng
fc_bssid=50d2f5811508
fc_channel=1
fc_security=6
fc_psk=b38403a65e046a0fdb06d6e34885609e0387fbb44d957ec34639aa348dee8aa6

ENV size: 172/1024 bytes.
[Flash]Erased ENV OK.
[Flash]Saved ENV OK.

这样就表示连上路由成功了,我们来看下路由器分配给麻雀一号的ip地址,敲入命令:get_ip
msh />get_ip
ip address: 192.168.31.206

同样我们看下mac,敲入命令:mac
msh />mac
MAC address: c8-47-8c-37-4d-d3


0x04:编译环境Env搭建
以下介绍来自于RT-Thread官网,大家看下即可:
Env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。
其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建。
主要特性
• menuconfig 图形化配置界面,交互性好,操作逻辑强;
• 丰富的文字帮助说明,配置无需查阅文档;
• 使用灵活,自动处理依赖,功能开关彻底;
• 自动生成 rtconfig.h,无需手动修改;
• 使用 scons 工具生成工程,提供编译环境,操作简单;
• 提供多种软件包,模块化软件包耦合关联少,可维护性好;
• 软件包可在线下载,软件包持续集成,包可靠性高;

准备工作
Env 工具包含了 RT-Thread 源代码开发编译环境和软件包管理系统。
• 从 RT-Thread 官网下载 Env 工具。链接:https://www.rt-thread.org/page/download.html,建议大家下载最新版本。
• 在电脑上装好 git,软件包管理功能需要 git 的支持。git 的下载地址为https://git-scm.com/downloads,根据向导正确安装 git,并将 git 添加到系统环境变量。
• 注意在工作环境中,所有的路径都不可以有中文字符或者空格。
打开 Env 控制台
RT-Thread 软件包环境主要以命令行控制台为主,同时以字符型界面来进行辅助,使得尽量减少修改配置文件的方式即可搭建好 RT-Thread 开发环境的方式。打开 Env 控制台有两种方式:
4.3.1.1 方法一:点击 Env 目录下可执行文件
进入 Env 目录,可以运行本目录下的 env.exe,如果打开失败可以尝试使用 env.bat。
4.3.1.2 方法二:在文件夹中通过右键菜单打开 Env 控制台
Env 目录下有一张 Add_Env_To_Right-click_Menu.png(添加 Env 至右键菜单.png) 的图片,如下:

根据图片上的步骤操作,就可以在任意文件夹下通过右键菜单来启动 Env 控制台。

这样的好处是Env运行时获取到的就是当前文件夹的目录,免得还得去cd切换。
打开Env软件,运行成功的界面如下:

至此编译环境搭建完成。

0x05:无线烧录all.bin文件
麻雀一号开发板预留了烧录接口,可用配套的无线烧录器进行烧录 all.bin 固件,烧录 all.bin 主要是用在开发板的程序异常无法正常通过 OTA 升级固件的情况下使用,all.bin 文件主要由 bootloader 和 app程序组成。
我们直接烧录工程源码里已经打包好的all.bin文件,文件路径:bk7221u_release\tool\beken_packager,有的童鞋问,怎么没看到all.bin文件?all_cam_4M_UART1.20190828.bin就是这个所谓的all.bin文件,就是它,怼它。
关键时刻来临,别眨眼睛,先把硬件搭建好,板子寄来的时候是附送了一个wifi模块,这个模块是用来给麻雀一号下载程序的,如果排针没有焊接好,自己动下烙铁焊接下。
看好别把wifi模块插反了,也别把针位插错位了,一切正常时,wifi小板上的灯会一闪一闪。
好了,现在在电脑上找这个无线烧录器的热点,我这里使用笔记本,搜索到热点如下:

第一个就是无线烧录器热点,点击连接,wifi密码是12345678,连接后打开网页,输入192.168.169.1默认ip。有的童鞋找茬来了,为啥是这个ip,好的,好让你觉得我很流弊,我们电脑端查看这个热点属性,如下:

实际上这个无线烧录器的原理就是建立了一个本地服务器,网页打开这个ip后,显示如下界面:

点击[选择文件]按钮,找到刚才文件路径下的all_cam_4M_UART1.20190828.bin文件,点击[开始上传固件并擦除全部Flash],这样就开始下载程序了,如下所示:

这样就下载完成了,板子复位重新运行。这个文件只要下载一次即可,如果以后程序更改了,升级app文件即可,通过OTA方式升级。如果不小心把板子程序搞异常了或者玩变砖头了,重新下载这个all.bin文件。

0x06:编译工程
• scons 是 RT-Thread 使用的编译构建工具,可以使用 scons 相关命令来编译 RT-Thread 。
• Env 中携带了 Python & scons 环境,只需在 bk7221u_release 目录中运行 scons 命令即可使用默认的ARM_GCC 工具链编译工程。
基本SCons命令:
• scons -c:清除编译目标。这个命令会清除执行 scons 时生成的临时文件和目标文件。
• scons -jN:多线程编译目标,在多核计算机上可以使用此命令加快编译速度。一般来说一颗 cpu 核心可以支持 2 个线程。双核机器上使用 scons -j4 命令即可。
编译工作都做好了,现在我们开始来进行编译,把工程源码[bk7221u_release]整个文件夹复制到不可以有中文字符或者空格文件夹下,在bk7221u_release文件夹根目录下右键运行Env,
输入scons -c命令先清除编译目标,清除完成如下:

然后输入scons -j8编译工程,为啥是-j8?啥意思?因为我的电脑CPU是4核8线程,为了编译速度,开足马力。编译快慢看电脑配置,我这个是i7,整个工程编译下来花了5分钟

编译完成,结果如下:

没有错误,成功生成了rtthread.elf rtthread.bin两个文件,我们需要的是rtthread.bin文件,至此编译完成。




使用特权

评论回复
评论
hobbye501 2020-4-29 11:21 回复TA
这编译时间也是醉了 双核 i5 好10分钟了 

相关帖子

沙发
飞思啦| | 2020-4-22 11:03 | 只看该作者
支持支持

使用特权

评论回复
板凳
ICCCCC|  楼主 | 2020-4-22 11:03 | 只看该作者

一起摸索

使用特权

评论回复
地板
oO0Oo| | 2020-4-22 11:05 | 只看该作者
冒泡支持

使用特权

评论回复
5
wuchenzi| | 2020-4-22 11:21 | 只看该作者
绑定,支持国产WIFI SOC,可以媲美ESP32

使用特权

评论回复
6
gyh974| | 2020-4-22 14:49 | 只看该作者

使用特权

评论回复
7
spikelove| | 2020-4-22 16:22 | 只看该作者
博主下载的工程编译通过了么, 我的编译报错了,说什么ascii.h找不到

使用特权

评论回复
8
ICCCCC|  楼主 | 2020-4-22 16:26 | 只看该作者
spikelove 发表于 2020-4-22 16:22
博主下载的工程编译通过了么, 我的编译报错了,说什么ascii.h找不到

可以通过,即将把编译这块写下,你尝试下载最新版的env,然后源代码及env都不要有中文路径

使用特权

评论回复
9
spikelove| | 2020-4-22 16:57 | 只看该作者
ICCCCC 发表于 2020-4-22 16:26
可以通过,即将把编译这块写下,你尝试下载最新版的env,然后源代码及env都不要有中文路径 ...


给你看看 我没有空格的

使用特权

评论回复
10
ICCCCC|  楼主 | 2020-4-22 17:29 | 只看该作者
spikelove 发表于 2020-4-22 16:57
给你看看 我没有空格的

检索下这个ascii.h文件,我搜索下是在bk7221u_release\test文件夹里,如果没有复制一个进去

使用特权

评论回复
11
spikelove| | 2020-4-22 17:36 | 只看该作者
ICCCCC 发表于 2020-4-22 17:29
检索下这个ascii.h文件,我搜索下是在bk7221u_release\test文件夹里,如果没有复制一个进去 ...

我下载的工程里面居然没有。。我去重新下一个

使用特权

评论回复
12
gyh974| | 2020-4-22 19:58 | 只看该作者
我这边提示SD卡初始化失败,请问楼主有装TF卡吗?多大容量的?是FAT格式吗?

使用特权

评论回复
评论
ICCCCC 2020-4-23 09:45 回复TA
我现在是随便插了张128MB的小卡,没看发现这个问题,其他卡应该也没问题 
13
ICCCCC|  楼主 | 2020-4-23 14:25 | 只看该作者
本帖最后由 ICCCCC 于 2020-4-24 09:36 编辑

0x07:OTA升级APP程序
• 固件打包:编译成功后,在bk7221u_release根目录下生成了rtthread.bin文件,这个文件就是app文件。前面下载的all.bin包含了BootLoader,所以可以通过 WiFi 无线网络方式更新固件。
在升级前需要把app进行打包,运行rt_ota_packaging_tool.exe软件,路径:BK7252_麻雀1号\开发工具\ota_tool,这个软件的路径不能含有中文,复制到非中文路径即可,运行如下:

点击[选择固件]按钮,加载前面编译生成的rtthread.bin文件,保存路径跟rtthread.bin文件一样即可。固件版本每次都要修改,本次为第一次,我们设置为v1.0.00,其他设置按照图中即可,点击[开始打包]按钮,即可完成打包。
• 本地服务器:使用 MyWebServer 工具在本地搭建 Web 服务器,为板子提供固件下载服务。双击MyWebServer.exe 运行程序,先停止服务,将服务目录改为 rtthread.rbl 文件所在目录,再重新启动服务:

1.设置rtthread.rbl文件所在目录;2.IP地址选0.0.0.0;3.启动服务器。
• OTA升级:打开Putty终端软件,输入 wifi w0 join ssid password 命令连接wifi(ssid:表示wifi名,password:表示wifi密码),注意需要保证开发板与电脑同一局域网内,再输入 http_ota http://192.168.xx.xx/rtthread.rbl 命令(其中192.168.xx.xx 为电脑 IP 地址)启动 OTA 升级,从电脑下载固件并更新:
查询电脑ip:1.同时按下电脑键盘上的WIN+R键,打开运行界面。2.在运行界面的空白框处输入cmd。3.cmd输入好后,点击确定。4.在这个弹窗的字母后面打出ipconfig,按下Enter键。

本机IP为192.168.31.98,终端输入http_ota http://192.168.31.98/rtthread.rbl 命令,一切正常就开始下载app固件,如下图:

1.OTA升级命令;2.获取到我们写的v1.0.00版本;3.擦除并写入app完成;系统重启。至此OTA升级完成。

使用特权

评论回复
14
21ic小喇叭| | 2020-4-24 09:03 | 只看该作者
感谢分享,送您1000家园币,可以兑换礼品或抽奖

使用特权

评论回复
15
ICCCCC|  楼主 | 2020-4-24 10:04 | 只看该作者
本帖最后由 ICCCCC 于 2020-4-24 10:08 编辑

0x08:无线烧录器使用STA模式
外观:


引脚含义:


指示灯含义:
  • 常亮:空闲状态,已连接WIFI
  • 快闪:Flash烧录/固件更新中
  • 慢闪:无线网络未配置,进入AP模式

按键操作:
  • 单击:无线编程器清空热点信息,进入 AP 模式(默认 WiFi 名称:BK_Wireless_Programer_xxxx,密码:12345678)
  • 长按 3s 以上: 清除所有用户信息,恢复出厂设置

STA模式配置:
AP模式比较简单,看手册来就可以,我们讲讲STA模式。使用 STA 模式,需要先配置编程器无线网络连接,网络设置完成之后,在每次上电时,编程器进入STA 模式,
并自动连接所保存的 WiFi。同一内网中的电脑,通过局域网设备发现功能,打开 Web 页面开始使用,省去 AP 模式下切换电脑无线连接、影响网络的麻烦,一劳永逸。
  • 短按一下编程器按配网按键,进入 AP 热点模式,指示灯慢闪
  • 电脑搜索并连接编程器热点(默认名称 BK_Wireless_Programer_xxxx,密码:12345678)
  • 启动浏览器,输入 ip 地址 192.168.169.1 打开 Web 管理页面,如下所示:
  • 点击主页下方的[WiFi网络配置]选项,进入配网页面
  • 在文本框中输入正确的路由器 WiFi 名称和密码(可使用扫描功能下拉选择 WiFi 名称)
  • 点击[写入参数]按钮提交 WiFi 信息,保存到内部 Flash
  • 点击[重启生效]按钮重启设备,编程器自动连接指定 WiFi,成功后指示灯常亮,操作步骤如下:
  • 电脑连接上述路由器(保证与设备在同一内网),通过局域网发现功能再次打开 Web 管理页面
  • 双击图中设备,这样就可以直接打开烧录窗口,以后每次板子上电,无线烧录器自动连上wifi,在局域网里打开这个设备即可。

注意事项:
  • 当无法使用局域网发现功能时(部分路由器不支持),此时可短按按键进入 AP 模式,通过旧版页面重新配网并获取编程器 IP,再在浏览器手动输入的方式使用,配网后等待页面响应、返回 IP 地址即可:
  • 其他操作跟前面一致。



使用特权

评论回复
16
gyh974| | 2020-4-24 17:15 | 只看该作者
楼主,你好,为什么我的一上电输出的信息跟你的区别这么大,特别是重点加了着色的


[D/FAL] (fal_flash_init:61) Flash device |             beken_onchip | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_flash_init:61) Flash device |         beken_onchip_crc | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_partition_init:193) Find the partition table on 'beken_onchip_crc' offset @0x0000c278.
[I/FAL] ==================== FAL partition table ====================
[I/FAL] | name       | flash_dev        |   offset   |    length  |
[I/FAL] -------------------------------------------------------------
[I/FAL] | bootloader | beken_onchip_crc | 0x00000000 | 0x0000f000 |
[I/FAL] | app        | beken_onchip_crc | 0x00010000 | 0x001a0000 |
[I/FAL] | filesystem | beken_onchip     | 0x001cb000 | 0x00121000 |
[I/FAL] | download   | beken_onchip     | 0x002ec000 | 0x00112000 |
[I/FAL] | param1     | beken_onchip     | 0x003fe000 | 0x00001000 |
[I/FAL] | param2     | beken_onchip     | 0x003ff000 | 0x00001000 |
[I/FAL] =============================================================
[I/OTA] bootloader build @ Aug 28 2019 14:31:44 FLASH ID: 0B4016(OK)

[I/FAL] RT-Thread Flash Abstraction Layer (V0.4.0) initialize success.
[I/OTA] RT-Thread OTA package(V0.2.4) initialize success.

\ | /
- RT -     Thread Operating System
/ | \     3.1.0 build Apr 14 2020
2006 - 2018 Copyright by rt-thread team
No TLV header found in flash

mac:C8 47 8C 1B 86 61
No TLV header found in flash

[FUNC]rwnxl_init

[FUNC]calibration_main

get rfcali_mode:0

tssi_th:0x6e

NO TXPWR_TAB_TAB found in flash

get dist-- b:0, g:0, n40:0, ble:0

Load default txpwr for b:000f33ee

Load default txpwr for g:000f3424, dist:14

fit n20 table with dist:2

Load default txpwr for n40:000f2874

Load default txpwr for ble:000f33fc

NO TXID found in flash, use lpf i&q:14, 14

NO TXID found in flash, use def xtal:16

xtal in flash is:16

xtal_cali:16

[FUNC]ps_init

[FUNC]func_init OVER!!!



[soft spi]:rt_soft_spi_device_init
[soft spi]:rt_soft_spi_device init ok
lwIP-2.0.2 initialized!
set dac vol:65 - indx:11,dig:30,ana:1a

set adc vol: 80 - 80

igmp_mac_filter add 224.0.0.1 01:00:5E:00:00:01
register station wlan device sucess!
igmp_mac_filter add 224.0.0.1 01:00:5E:00:00:01
register soft-ap wlan device sucess!
beken wlan hw init

---i2s register over---

---[wf]iic_bus_device_registet---

drv_pm_init
dfs_lfs_init

dfs_lfs_init

dfs_lfs_init

dfs_lfs_init ok

[D/FAL] (fal_flash_init:63) Flash device |             beken_onchip | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_flash_init:63) Flash device |         beken_onchip_crc | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
[D/FAL] (fal_partition_init:176) Find the partition table on 'beken_onchip_crc' offset @0x0000c278.
[I/FAL] ==================== FAL partition table ====================
[I/FAL] | name       | flash_dev        |   offset   |    length  |
[I/FAL] -------------------------------------------------------------
[I/FAL] | bootloader | beken_onchip_crc | 0x00000000 | 0x0000f000 |
[I/FAL] | app        | beken_onchip_crc | 0x00010000 | 0x001a0000 |
[I/FAL] | filesystem | beken_onchip     | 0x001cb000 | 0x00121000 |
[I/FAL] | download   | beken_onchip     | 0x002ec000 | 0x00112000 |
[I/FAL] | param1     | beken_onchip     | 0x003fe000 | 0x00001000 |
[I/FAL] | param2     | beken_onchip     | 0x003ff000 | 0x00001000 |
[I/FAL] =============================================================
[I/FAL] RT-Thread Flash Abstraction Layer (V0.4.0) initialize success.
ROMFS File System initialized!
===sd card open:0===

msh />cmd 1:3

sdcard cmd 8 timeout,cmdresp_int_reg:0x84

cmd8 noresp, voltage mismatch or Ver1.X SD or not SD

send cmd55&cmd41 complete, SD V1.X card is ready

cmd3 is ok, card rca:0x6779

size:200 total_block:1eb400

Bsize:200;Total_block:1eb400

sdcard initialize is done

[SDIO]:rt_sdcard_control, CMD=16
read single block wait data receive err:4

sdcard_read err:4, curblk:0x3f

SD File System initialzation failed!
[I/FAL] The FAL MTD NOR device (filesystem) created successfully
LFS Filesystem initialized! filesystem ==> /flash0
[Flash]EasyFlash V3.0.4 is initialize success.
[Flash]You can get the latest version on https://github.com/armink/EasyFlash .
Enter normal mode...



app_init finished

[I/player] RT-Thread lightweight player v1.2.7-c1f72849-249590703_Release [build Sep  7 2019]
set_volume 65-65
adc-buf:00900dc4, adc-buf-len:5120, ch:1

audio_device_mic_opened


使用特权

评论回复
17
ICCCCC|  楼主 | 2020-4-24 17:55 | 只看该作者
gyh974 发表于 2020-4-24 17:15
楼主,你好,为什么我的一上电输出的信息跟你的区别这么大,特别是重点加了着色的

你这主要是报SD卡文件系统问题
方法1:你下载SDCardFormatterv5_WinEN这个软件把卡进行格式化,链接:https://www.sdcard.org/index.html,Windows的格式化兼容性不好。
方法2:如果方法1不凑效,把all.bin文件重新下载一遍

使用特权

评论回复
18
ICCCCC|  楼主 | 2020-4-25 19:35 | 只看该作者
本帖最后由 ICCCCC 于 2020-4-26 21:20 编辑

0x09:资料包更新
麻雀一号资料包更新,日期是20200422,增加无线烧录器说明手册,视觉识别示例,建议下载最新版本。
链接:https://realthread.cowtransfer.com/s/16b3b3d94b1547

使用特权

评论回复
19
hobbye501| | 2020-4-29 11:21 | 只看该作者

使用特权

评论回复
20
21ic小喇叭| | 2020-5-9 16:42 | 只看该作者
感谢分享,论坛送您1000家园币,可以兑换礼品。以及论坛给您寄出一份礼品,以示鼓励~ 您继续加油,尽快把帖子更新、继续完善,上传方案文档哦~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

178

帖子

9

粉丝