- 在虚拟机ubuntu(Linux)系统下编译
- Linux下可以直接使用
aos upload
烧录- windows系统下使用
haas1000_write_flash_main.exe
工具烧录- 使用 RaiDrive 软件可以把ubuntu文件夹远程映射到Windows上
一、安装aos-cube
参考:Linux环境安装aos-cube
速度太慢可参考:pip国内源配置,pip速度起飞
# 安装python、pip和git
sudo apt-get install -y python python-pip git
# 安装依赖库和aos-cube
python -m pip install setuptools wheel aos-cube
# 查询版本确认是否安装成功
aos --version
二、获取AliOS Things源码
# 获取HaaS分支代码`dev_3.1.0_haas`
git clone https://gitee.com/alios-things/AliOS-Things.git -b dev_3.1.0_haas
或者
git clone https://github.com/alibaba/AliOS-Things.git -b dev_3.1.0_haas
三、配置环境变量
# 编译环境变量文件
vim ~/.bashrc
# 文件末尾添加环境变量,指向AliOS Things源码目录,并保存退出
export AOS_SDK_PATH=~/AliOS-Things
# 使配置立即生效
source ~/.bashrc
四、编译
- 进入
AliOS-Things
顶层目录编译,这里编译application/example/
目录下的demo app - 根据编译打印的信息,生成的app固件在
/out/helloworld_demo@haas100/binary/*@haas100.bin
- 同时所有需要的固件都拷贝到了
platform/mcu/haas1000/release/release_bin
目录下(改名为ota_rtos.bin
) - 再拷贝到
platform/mcu/haas1000/release
下的write_flash_gui/ota_bin/
和write_flash_tool/ota_bin/
目录。
# 配置
# 初次使用会显示"kconfig tools missing",并自动下载
aos make helloworld_demo@haas100 -c config
# 编译
# 初次编译如果没有 gcc-arm-none-eabi 编译链工具,会自动下载
aos make
初次使用aos-cube
工具会显示改善用户体验需要收集一些个人信息的确认,输入’Y[es]’ or 'N[o]'都可以。
***Attention***:
==============================================================
In order to improve the user experience of this tool,
we want to collect some of your personal information
including but not limited to the following items:
(0) The Operating System and version on your computer..
(1) the MAC and public IP address of your computer.
(2) Your city location information.
(3) The command line terminal used.
(4) The most frequently used aos-cube functionalities.
All collected information will be limited to be used in the
user-experience improve plan, and will be carefully and
restrictly secured.
==============================================================
Do you want to participate in the activity?
Please type 'Y[es]' or 'N[o]':
五、烧录
1、Linux下烧录:
# 执行烧录命令
aos upload
# 选择串口号 1
--- Available ports:
--- 1: /dev/ttyUSB0 'CP2102N USB to UART Bridge Controller'
--- Enter port index or full name: 1
烧录LOG:
pjw@pjw-virtual-machine:~/Haas100/AliOS-Things$ aos upload
aos-cube version: 0.5.11
[INFO]: Currently in aos_sdk_path: '/home/pjw/Haas100/AliOS-Things'
[INFO]: Not set target, read target from .config
[INFO]: Target: helloworld_demo@haas100
[INFO]: Currently in aos_sdk_path: '/home/pjw/Haas100/AliOS-Things'
[INFO]: Check whether in docker: False
--- Available ports:
--- 1: /dev/ttyUSB0 'CP2102N USB to UART Bridge Controller'
--- Enter port index or full name: 1
[INFO]: Running cmd:
'/home/pjw/Haas100/AliOS-Things/build/scripts/flash_program_ll.py /dev/ttyUSB0 1500000 /home/pjw/Haas100/AliOS-Things/platform/mcu/haas1000/release/write_flash_gui/ota_bin/ota_rtos.bin 0'
# reboot
reboot
r
CHIP_ID=haas1000
KERNEL=
OTA_CODE_OFFSET=0
CRASH_DUMP_SIZE=0
AUD_SEC_SIZE=0
USER_SEC_SIZE=0x1000
FACT_SEC_SIZE=0x1000
NV_REC_DEV_VER=2
FLASH_BASE=0x28000000
FLASH_SIZE=0x1000000
CRC32_OF_IMAGE=0x00000000
BUILD_DATE=Sep 18 2020 23:45:39
REV_INFO=52d1afa:ota_boot1
606 | sys freq calc: 192000000
606 | FLASH_ID: 85-60-18
606 | security
CHIP=haas1000
KERNEL=
OTA_CODE_OFFSET=0x12000
CRASH_DUMP_SIZE=0
AUD_SEC_SIZE=0
USER_SEC_SIZE=0x1000
FACT_SEC_SIZE=0x1000
NV_REC_DEV_VER=2
FLASH_BASE=0x28000000
FLASH_SIZE=0x1000000
CRC32_OF_IMAGE=0x00000000
BUILD_DATE=Sep 19 2020 00:23:18
REV_INFO=1656a586-dirty:ota_boot2a
698 | sys freq calc: 320000000
698 | FLASH_ID: 85-60-18
698 | security.reg:0x0, security.security_en:0
698 | reg_base: 0
699 | show zone_0 boot info:
699 | crc32:0x320f03fa
699 | info_len:0x2c
699 | odm_type:0x0
699 | reserved:0x0
699 | linkA_used_flag:0x1
699 | linkB_used_flag:0x1
699 | update_link:0x0
699 | crash_reboot_count:0x0
699 | secureERR_reboot_count:0x0
699 | reboot_count_max:0x
Press key 'w' to 2ndboot cli menu in 100ms.
2ndboot ver: 2ndboot-1.0.0-20200919.002306
Please input 1-4 to select functions
[1] Uart Ymodem Upgrade
[2] System Reboot
[3] Show AB Boot
[4] Switch AB Boot
[h] Help Info
aos boot#
1
A part addr:0x2a000 len:0x578000
B part addr:0x5ba000 len:0x578000
Now running on A
Backup part addr:0x5ba000
Please input flash addr:
0x5ba000
flash addr: 0x5ba000
Please start ymodem ... (press ctrl+c to cancel)
CCCCC
<<< 0x43
Packet 0 >>>
<<< 0x6
<<< 0x43
Packet 1 >>>
<<< ACK
Packet 2 >>>
<<< ACK
...
Packet 791 >>>
<<< ACK
Packet 792 >>>
<<< ACK
EOF
>>> EOT
<<< 0x15
>>> EOT
<<< 0x6
<<< 0x43
Packet End >>>
<<< 0x6
File: ota_rtos.bin
Size: 810780Bytes
Swap AB partition
Recv flash addr: 0x5ba000 len:0xc5f1cOK
aos boot# 3
A Boot ..
aos boot# 4
Switch A to B Boot ..
aos boot# 3
B Boot ..
aos boot# 2
Reboot
r
CHIP_ID=haas1000
KERNEL=
OTA_CODE_OFFSET=0
CRASH_DUMP_SIZE=0
AUD_SEC_SIZE=0
USER_SEC_SIZE=0x1000
FACT_SEC_SIZE=0x1000
NV_REC_DEV_VER=2
FLASH_BASE=0x28000000
FLASH_SIZE=0x1000000
CRC32_OF_IMAGE=0x00000000
BUILD_DATE=Sep 18 2020 23:45:39
REV_INFO=52d1afa:ota_boot1
604 | sys freq calc: 192000000
604 | FLASH_ID: 85-60-18
605 | security.reg:0x0, security.se
CHIP=haas1000
KERNEL=
OTA_CODE_OFFSET=0x12000
CRASH_DUMP_SIZE=0
AUD_SEC_SIZE=0
USER_SEC_SIZE=0x1000
FACT_SEC_SIZE=0x1000
NV_REC_DEV_VER=2
FLASH_BASE=0x28000000
FLASH_SIZE=0x1000000
CRC32_OF_IMAGE=0x00000000
BUILD_DATE=Sep 19 2020 00:23:18
REV_INFO=1656a586-dirty:ota_boot2a
696 | sys freq calc: 320000000
696 | FLASH_ID: 85-60-18
696 | security.reg:0x0, security.security_en:0
696 | reg_base: 0
697 | show zone_0 boot info:
697 | crc32:0x345ba620
697 | info_len:0x2c
697 | odm_type:0x0
697 | reserved:0x0
697 | linkA_used_flag:0x0
697 | linkB_used_flag:0x1
697 | update_link:0x1
697 | crash_reboot_count:0x0
697 | secureERR_reboot_count:0x0
697 | reboot_count_max:0x
Press key 'w' to 2ndboot cli menu in 100ms.
Burn "[('/home/pjw/Haas100/AliOS-Things/platform/mcu/haas1000/release/write_flash_gui/ota_bin/ota_rtos.bin', '0')]" success.
---host_os:Linux64
[INFO]: Firmware upload succeed!
2、Windows下烧录:
- 烧录软件只能在windows下运行,软件在
platform/mcu/haas1000/release/write_flash_gui
目录。 - 可以使用 RaiDrive 把ubuntu文件夹远程映射到Windows上。
- RaiDrive配置参考:环境搭建[Windows篇]@映射与烧录
- 烧录的固件在
write_flash_gui/ota_bin
目录下,每次编译都会自动拷贝到该目录下。
步骤:
- 安装CP210x串口驱动:USB转UART驱动,USB串口连接电脑。
- 在windows配置好
RaiDrive
后,进入ubuntu的共享目录。 - 找到
AliOS Things/platform/mcu/haas1000/release/write_flash_gui/haas1000_write_flash_main.exe
,双击打开。 - 左上角
Config
——PortConfig
进入com settings
界面。 List
——勾选对应串口——OK
,Status
为Closed
- 点击
Start All
,Status
变为Idle
- 按下板子上的复位键(短按键),
Status
变为Burning
,开始烧录。 - 等待烧录完成。(最开始进度条不动,用其他串口工具打开了下串口,再用该工具就正常了)
六、串口输出LOG
使用 SecureCRT、MobaXterm、或者或其他串口终端。
波特率1500000
,会输出启动信息,然后输出hello world! count *
详细见附件。
附:编译打印信息
aos-cube version: 0.5.11
Check if required tools for haas100 exist
Toolchain gcc-arm-none-eabi missing, start download ...
https://gitee.com/alios-things/gcc-arm-none-eabi-linux.git -> /home/pjw/HaaS100/AliOS-Things/build/compiler/gcc-arm-none-eabi/Linux64
正克隆到 'gcc-arm-none-eabi'...
remote: Enumerating objects: 5167, done.
remote: Counting objects: 100% (5167/5167), done.
remote: Compressing objects: 100% (2349/2349), done.
remote: Total 5167 (delta 2872), reused 4514 (delta 2783), pack-reused 0
接收对象中: 100% (5167/5167), 78.40 MiB | 5.94 MiB/s, 完成.
处理 delta 中: 100% (2872/2872), 完成.
正在检出文件: 100% (5753/5753), 完成.
Download toolchain gcc-arm-none-eabi succeed
Parsing all components ...
Build Configuration:
====================
App: helloworld_demo
Board: haas100
====================
Creating out/config/autoconf.h ...
application/example/flower_demo/Config.in:29:warning: choice value used outside its choice group
application/example/rfid_demo/Config.in:29:warning: choice value used outside its choice group
application/example/auto_demo/Config.in:29:warning: choice value used outside its choice group
application/example/oled_display_demo/Config.in:29:warning: choice value used outside its choice group
platform/board/stm32f103rb-nucleo/Config.in:3:warning: defaults for choice values not supported
platform/board/esp8266/Config.in:3:warning: defaults for choice values not supported
platform/board/mk3072/Config.in:3:warning: defaults for choice values not supported
Making config file for first time
processing components: helloworld_demo haas100
*** All Components: helloworld_demo haas100 osal_aos mcu_haas1000 kernel_init yloop debug i2c_muxer rtc_ext lwip netmgr rhino arch_armv7m network newlib_stub osal_posix ulog vfs cli kv lib_rbtree
Build AOS Now
TOOLCHAIN_PATH=
Compiling helloworld_demo
Compiling board_haas100
Compiling osal_aos
Compiling mcu_haas1000
Compiling kernel_init
Compiling yloop
Compiling debug
Compiling i2c_muxer
Compiling rtc_ext
Compiling lwip
Compiling netmgr
Compiling rhino
Compiling arch_armv7m
Compiling newlib_stub
Compiling osal_posix
Compiling ulog
Compiling vfs
Compiling cli
Compiling kv
Compiling lib_rbtree
Making out/helloworld_demo@haas100/libraries/helloworld_demo.a
Making out/helloworld_demo@haas100/libraries/board_haas100.a
Making out/helloworld_demo@haas100/libraries/osal_aos.a
Making out/helloworld_demo@haas100/libraries/mcu_haas1000.a
Making out/helloworld_demo@haas100/libraries/kernel_init.a
Making out/helloworld_demo@haas100/libraries/yloop.a
Making out/helloworld_demo@haas100/libraries/debug.a
Making out/helloworld_demo@haas100/libraries/i2c_muxer.a
Making out/helloworld_demo@haas100/libraries/rtc_ext.a
Making out/helloworld_demo@haas100/libraries/lwip.a
Making out/helloworld_demo@haas100/libraries/netmgr.a
Making out/helloworld_demo@haas100/libraries/rhino.a
Making out/helloworld_demo@haas100/libraries/arch_armv7m.a
Making out/helloworld_demo@haas100/libraries/newlib_stub.a
Making out/helloworld_demo@haas100/libraries/osal_posix.a
Making out/helloworld_demo@haas100/libraries/ulog.a
Making out/helloworld_demo@haas100/libraries/vfs.a
Making out/helloworld_demo@haas100/libraries/cli.a
Making out/helloworld_demo@haas100/libraries/lib_rbtree.a
Making out/helloworld_demo@haas100/libraries/kv.a
Making helloworld_demo@haas100.elf
Making helloworld_demo@haas100.bin
Making helloworld_demo@haas100.hex
AOS MEMORY MAP
|=================================================================|
| MODULE | ROM | RAM |
|=================================================================|
| arch_armv7m | 2174 | 0 |
| board_haas100 | 2200 | 6815802 |
| cli | 6305 | 357 |
| debug | 6851 | 40 |
| helloworld_demo | 83 | 0 |
| kernel_init | 351 | 12 |
| kv | 3297 | 36 |
| libc_nano | 20334 | 3911 |
| libgcc | 3612 | 0 |
| libhaas1000 | 594201 | 920726 |
| libm | 18724 | 1594 |
| lwip | 38935 | 3281 |
| mcu_haas1000 | 32506 | 3225 |
| newlib_stub | 576 | 0 |
| osal_aos | 1096 | 0 |
| osal_posix | 129 | 136 |
| rhino | 13739 | 18262 |
| ulog | 1561 | 331 |
| vfs | 1092 | 1113 |
| yloop | 1336 | 32 |
| *fill* | 4978876 | 71573 |
|=================================================================|
| TOTAL (bytes) | 5727978 | 7840431 |
|=================================================================|
gen signature and release image ...
OUTPUT_DIR is out/helloworld_demo@haas100
format wrong
/home/pjw/HaaS100/AliOS-Things/platform/mcu/haas1000/release/auto_build_tool
['chmod', '777', '/home/pjw/HaaS100/AliOS-Things/platform/mcu/haas1000/release/auto_build_tool/sign_tool']
Start chmod sign dir...
chmod: 无法访问'/home/pjw/HaaS100/AliOS-Things/platform/mcu/haas1000/release/auto_build_tool/sign_tool': 没有那个文件或目录
chmod sign dir done.
Start make littlefs
Debug output enabled
/demo
file size: 12
genfs done.
Littlefs code size:4907008
Make littlefs done
cp -f ../../prebuild/programmer2001.bin ../release_bin/
cp -f ../../prebuild/boot_info.bin ../release_bin/
cp -f ../../prebuild/ota_boot1_sec.bin ../release_bin/
cp -f ../../prebuild/pub_otp.bin ../release_bin/
cp -f ../../prebuild/ota_boot1.bin ../release_bin/
cp -f ../../prebuild/data ../release_bin/
cp -f ../../prebuild/factory.bin ../release_bin/
cp -f ../../prebuild/littlefs.bin ../release_bin/
cp -f ../../prebuild/ota_boot2a.bin ../release_bin/
cp /home/pjw/HaaS100/AliOS-Things/out/helloworld_demo@haas100/binary/*@haas100.bin ../release_bin/ota_rtos.bin
/home/pjw/HaaS100/AliOS-Things/out/helloworld_demo@haas100/binary/helloworld_demo@haas100.bin
cp -f ../write_flash_gui/dld_cfg/haas1000_dld_cfg.yaml ../write_flash_gui/
cp -f ../write_flash_gui/haas1000_dld_cfg.yaml ../write_flash_gui/haas1000_dld_cfg.yaml
cp -f ../release_bin/programmer2001.bin ../write_flash_tool/tools/
cp -f ../release_bin/programmer2001.bin ../write_flash_gui/
cp -f ../release_bin/programmer2001.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/boot_info.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/boot_info.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/ota_boot1_sec.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/ota_boot1_sec.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/pub_otp.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/pub_otp.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/ota_rtos.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/ota_rtos.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/ota_boot1.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/ota_boot1.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/factory.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/factory.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/littlefs.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/littlefs.bin ../write_flash_gui/ota_bin/
cp -f ../release_bin/ota_boot2a.bin ../write_flash_tool/ota_bin/
cp -f ../release_bin/ota_boot2a.bin ../write_flash_gui/ota_bin/
all files done.
gen ota image ...
Build complete: helloworld_demo@haas100
附:启动打印信息
CHIP_ID=haas1000
KERNEL=
OTA_CODE_OFFSET=0
CRASH_DUMP_SIZE=0
AUD_SEC_SIZE=0
USER_SEC_SIZE=0x1000
FACT_SEC_SIZE=0x1000
NV_REC_DEV_VER=2
FLASH_BASE=0x28000000
FLASH_SIZE=0x1000000
CRC32_OF_IMAGE=0x00000000
BUILD_DATE=Sep 18 2020 23:45:39
REV_INFO=52d1afa:ota_boot1
623 | sys freq calc: 192000000
623 | FLASH_ID: 85-60-18
623 | security.reg:0x0, security.security_en:0
623 | reg_b
CHIP=haas1000
KERNEL=
OTA_CODE_OFFSET=0x12000
CRASH_DUMP_SIZE=0
AUD_SEC_SIZE=0
USER_SEC_SIZE=0x1000
FACT_SEC_SIZE=0x1000
NV_REC_DEV_VER=2
FLASH_BASE=0x28000000
FLASH_SIZE=0x1000000
CRC32_OF_IMAGE=0x00000000
BUILD_DATE=Sep 22 2020 15:14:51
REV_INFO=cb91a207-dirty:ota_boot2a
715 | sys freq calc: 320000000
715 | FLASH_ID: 85-60-18
716 | security.reg:0x0, security.security_en:0
716 | reg_base: 0
716 | ota_check_bootinfo 757, error info->update_link:65535
716 | show zone_0 boot info:
716 | crc32:0xffffffff
716 | info_len:0xffff
716 | odm_type:0xff
716 | reserved:0xff
716 | linkA_used_flag:0xffff
716 | linkB_used_flag:0xffff
716 | update_link:0xffff
716 | crash_reboot_count:0xff
Press key 'w' to 2ndboot cli menu in 300ms.
126: ota crc cal:0x6514 param:0xffff
24: ota upg_flag:0xffffcount:0 crc;0xffff
41: No OTA upgrade.
CHIP=haas1000
KERNEL=RHINO
CRASH_DUMP_SIZE=0
AUD_SEC_SIZE=0
USER_SEC_SIZE=0x1000
FACT_SEC_SIZE=0x1000
NV_REC_DEV_VER=2
FLASH_BASE=0x28000000
FLASH_SIZE=0x1000000
CRC32_OF_IMAGE=0x00000000
BUILD_DATE=Nov 26 2020 10:56:36
REV_INFO=x
1372/main | FLASH_ID: 85-60-18
1372/main | pmu_dcdc_dig_comp:3, pmu_dcdc_ana_comp:1
1383/main | Dc calib L OK: 0x4005
1383/main | Dc calib R OK: 0x8010
1383/main | ANA: DC CALIB L=5 R=16
1383/main | haas_board_init platform_init_step0 done
1383/main | app_init 1460 only_init=3, need_check_key=0
1383/main | please check all sections sizes and heads is correct ........
1383/main | __coredump_section_start: 0x28ffa000 length: 0x0
1383/main | __ota_upgrade_log_start: 0x28ffa000 length: 0x0
1383/main | __log_dump_start: 0x28ffa000 length: 0x0
1383/main | __crash_dump_start: 0x28ffa000 length: 0x0
1384/main | __custom_parameter_start: 0x28ffa000 length: 0x1000
1384/main | __userdata_start: 0x28ffc000 length: 0x2000
1384/main | __aud_start: 0x28ffe000 length: 0x0
1384/main | __factory_start: 0x28fff000 length: 0x1000
1385/main | set mpu 0x20034100 len 1280
1385/main | factory open
2c 16 bd d0 c4 0e
1386/main | factory_section_open sucess btname:cust_bt
2c 16 bd d0 c4 0f
e8 9a c2 56 34 12
1386/main | cp server init success
1386/main | a7_dsp_boot
1386/main | a7 decompress start
1386/main | LZMA: Dynamic memory needed....... 0x3e6c
1386/main | allocated.
1408/main | a7 decompress end
1408/main | mcu_audio_task_init p_transq_msg=0x200de5c0
1408/main | hal_trace_print_a7_flush onoff=0
1408/main | create mcu_audio_main task = 0x34002F58
1409/main | app_init:1724 pwron_case=9
1434/main | btdrv_config_init
1434/main | btdrv_SendData
01 81 fc 08 bf ee cd fa db bd 7b 87
1441/53E | tx
1442/55E | btdrv_rx len:7
04 0e 04 05 81 fc 00
1442/main | btdrv_SendData
01 86 fc 68 00 01 01 00 01 c8 00 20 03 40 06 3a 00 01 01 ff 04 17 11 00 00 01 04 01 04 00 01 00 00 00 00 08 02 50 78 01 01 3a 5e 09 03 00 21 00 01 00 00 3f 2b 00 07 00 20 03 05 00 0c 01 00 32 00 48 00 06 01 00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 1445/53E | tx
1446/55E | btdrv_rx len:7
04 0e 04 05 86 fc 00
1446/main | btdrv_SendData
01 ae fc 11 00 01 32 00 00 12 01 00 08 00 0a 98 14 00 01 01 03
1449/53E | tx
1449/55E | btdrv_rx len:7
04 0e 04 05 ae fc 00
1450/main | btdrv_SendData
01 77 fc 08 01 00 c8 00 32 00 00 00
1453/53E | tx
1453/55E | btdrv_rx len:7
04 0e 04 05 77 fc 00
1454/main | btdrv_SendData
01 32 fc 06 0f c4 d0 bd 16 2c
1457/53E | tx
1457/55E | btdrv_rx len:7
04 0e 04 05 32 fc 00
1458/main | btdrv_SendData
01 72 fc 07 01 0f c4 d0 bd 16 2c
1461/53E | tx
1461/55E | btdrv_rx len:7
04 0e 04 05 72 fc 00
1462/main | btdrv_SendData
01 88 fc bd 01 00 01 b9 02 00 a6 ba 0f 02 0e 00 e8 03 00 ff ff 7f 7f 01 01 01 01 00 eb e5 e7 ee e8 ed f1 eb f3 f4 ee fa f7 f1 00 fa f4 7f fd f7 7f 00 fa 7f 7f fd 7f 7f 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 2c 00 b0 27 00 b0 21 00 b0 1c 00 b0 1469/53E | tx
1470/55E | btdrv_rx len:7
04 0e 04 05 88 fc 00
1470/main | btdrv_SendData
01 8f fc 04 01 01 00 00
1473/53E | tx
1473/55E | btdrv_rx len:7
04 0e 04 05 8f fc 00
1474/main | btdrv_SendData
01 74 fc 08 20 00 00 00 70 51 00 00
1481/53E | tx
1482/55E | btdrv_rx len:7
04 0e 04 05 74 fc 00
1482/main | btdrv_SendData
01 02 fc 0a 44 00 00 a0 20 04 ec 72 00 a0
1485/53E | tx
1485/55E | btdrv_rx len:7
04 0e 04 05 02 fc 00
1488/main | btdrv_SendData
01 02 fc 0a 50 00 00 a0 20 04 ec 72 00 a0
1489/53E | tx
1489/55E | btdrv_rx len:7
04 0e 04 05 02 fc 00
1492/main | btdrv_SendData
01 02 fc 0a 5c 00 00 a0 20 04 10 84 00 a0
1497/53E | tx
1497/55E | btdrv_rx len:7
04 0e 04 05 02 fc 00
1500/main | btdrv_SendData
01 02 fc 0a 60 00 00 a0 20 04 20 84 00 a0
1501/53E | tx
1501/55E | btdrv_rx len:7
04 0e 04 05 02 fc 00
1514/main | CONFIG INIT END
1573/main | PMU_EFUSE_PAGE_RESERVED_7 0x5658
1573/main | 0x15 read=300c
1573/main | 0x15 write=360c
1573/main | 0xc5 read=4bc
1573/main | 0xc5 write=49c
1574/main | RF INIT END
1575/main | btdrv_rf_init_ext xtal_fcap=0x77
1578/main | rfae_val0 value = 13ff, rfaf_val0 = 1fff
1580/main | rfae_val1 value = 13ff, rfaf_val1 = 1fff
1582/main | rfae_val2 value = 13ff, rfaf_val2 = 1fff
1584/main | rfae_val3 value = 13ff, rfaf_val3 = 1fff
1586/main | rfae_val4 value = 13ff, rfaf_val4 = 1fff
1588/main | rfae_val5 value = 13ff, rfaf_val5 = 1fff
1590/main | rfae_val6 value = 13ff, rfaf_val6 = 1fff
1592/main | rfae_val7 value = 13ff, rfaf_val7 = 1fff
1592/main | flt_reg[0]=3ff
1592/main | i2v_reg[0] = fff
1592/main | flt_reg[1]=3ff
1592/main | i2v_reg[1] = fff
1592/main | flt_reg[2]=3ff
1592/main | i2v_reg[2] = fff
1592/main | flt_reg[3]=3ff
1592/main | i2v_reg[3] = fff
1592/main | flt_reg[4]=3ff
1593/main | i2v_reg[4] = fff
1593/main | flt_reg[5]=3ff
1593/main | i2v_reg[5] = fff
1593/main | flt_reg[6]=3ff
1593/main | flt_reg[7]=3ff
1593/main | DC CAL END
1597/main | btdrv_rccal 0xb0 value:1840
1597/main | 0x8b val_tmp1=2a01
1597/main | 0x8d val_tmp2=a245
1597/main | 0xb0 0x200 < value < 0xff0 done
1597/main | 0x03:88001
1597/main | chk 0x03 val_tmp1=2201
1597/main | 0x05:9a45
1597/main | chk 0x05 val_tmp2=0
1597/main | RC CAL END
1637/main | btdrv_hwagc_1400_dccal dc_cal_counter = 0, average value_after = 80
1674/main | btdrv_hwagc_1400_dccal dc_cal_counter = 1, average value_after = 80
1708/mcu_audio | mcu_cmd_transq_tx_sem = 0x34003358
1708/mcu_audio | mcu_cmd_send end
1708/mcu_audio | mcu_dsp_setup A7_CMD_TYPE_HANDSHAKE to a7: mic_samplerate 16000, period_ms 64
1712/main | btdrv_hwagc_1400_dccal dc_cal_counter = 2, average value_after = 80
1712/main | HWAGC CAL END
1723/main | bt_iqimb_ini :
1732/main | syspool_init: 0x200e4d68,0x75098
1732/main | [syspool_get_buff] size = 10240 , free size = 479384
1732/main | [med_heap_add_block] g_block_index = 0, begin_addr = 0x200e4d68, size = 10240
1733/main | multi_heap_register_impl start=0x200e4d68,size=10240
1733/main | malloc ini
1733/main | st:0x200e4d8c, st->M0data:0x200e4da0, st->Table0:0x200e51a4, st->Table1:0x200e59a8, st->Table2:0x200e61ac
1733/main | malloc ok
1733/main | Tblgen ini
1741/main | Tblgen ok
A7_TRACE:
A7_TRACE:Nov 26 2020 10:56:00 2b1ad66cA7_TRACE:a7_dsp_main go, freq:1000Mhz
1742/transq_ms | mcu_dsp_af_capture_start, 98 msg=0x5003854c, config=0x5003855c
1742/transq_ms | bits=16, channel_num=3, channel_map=7, sample_rate=16000, data_ptr=0x5003a998, data_size=12288
1742/transq_ms | mic_set_samplerate 16000
1742/transq_ms | mcu_dsp_af_capture_start, 117 data_ptr=0x5003a998, data_size=12288[64ms]
1742/transq_ms | mic_set_period 64
A7_TRACE:a7_audio_task_init p_capture_buf=0x5003A998, p_playback_buf=0x50038598, p_transq_msg=0x5003854C
a7_af_capture_start
a7_af_capture_start, 310 data_ptr=0x5003a998, data_size=12288[64ms]
A7_TRACE:a7_af_capture_start end
A7_TRACE:a7_dsp_init_hook: call a7_dsp_dummy_main
a7_dsp_dummy_main go
1755/main | dc cal done!!! dc_i = 4 ,dc_q = 2,Energy1 = 173
1783/main | IQ phase correct addr = 0xd03100ac,phase_mis = 0 ,gain_mis = 12,Energy = 82
1783/main | use time: 957 ticks
1795/main | OVERRIDE END
1795/main | btdrv_SendData
01 02 fc 0a 08 ed 00 e0 20 04 80 00 00 c0
1796/53E | tx
1796/55E | btdrv_rx len:7
04 0e 04 05 02 fc 00
1798/main | ADD TRANSQ ISR VECTOR
1798/main | app_status_indication_set 0
1798/main | power on case:0
1798/main | app_status_indication_set 1
1798/main | platform_init_step1 done, user_init=3, ret=0
1798/main | platform_init_step1 enter temprature cali on signal
1798/main | haas_board_init platform_init_step1 done
1802/main_task | sys freq calc : 320000000
2208/mcu_audio | mcu_audio_main exit
2852/main_task | [WIFI] change status:IDLE->IDLE
2852/main_task | detect_wifi_card. WSM driver ver 1.0
2852/main_task | Probe called, func = 0x2003b4e4
2853/main_task | wifi_transq_init
2853/main_task | cw1200_core_probe func->dev = 0x2003b4e8, self = 0x200521ec, self->func = 0x2003b4e4
2853/main_task | Allocated hw_priv @ 0x20039a48
2853/main_task | nv_record_wifirec_find 70, type:bnd
2853/main_task | nv_record_wifirec_find 70, type:cny
2853/main_task | wifi record , wifi_ptr = 0x28fff800, tx_power=0x28fff81a
2853/main_task | get tx_power , type = 0x0
2200 1d00 2300 1e00 1900 1f00 1a00 1500 1b00
2853/main_task |
2853/main_task | get mac from factory: 2c:16:bd:d0:c4:0e
2853/main_task | band 2 country CN
2854/main_task | SDIO: enabling IRQ for function 0
2854/main_task | sdio_attach_irq ret = 0 handler=0x1c5fbce5
2854/main_task | wifi_init start ....
2925/main_task | wifidrv_rf_init....
2925/main_task | wifi_get_tx_cfg_by_efuse: 0x5658
2925/main_task | !!!!efuse_cfg: 0x8
2925/main_task | rc_osc_calib........
2941/main_task | rc_osc_calib , 0x33 = 0x3551
2941/main_task | rc_osc_calib , 0x32 = 0x6213
2942/main_task | xtal_osc_amp_calib........delay 1 ms
2945/main_task | xtal_osc_amp_calib, done! 0x32= 0x61d3
2945/main_task | wifi_rf_switch_band_init
2945/main_task | wifi_init,band=0x0,mode=0x0
2945/main_task | wifi_init, patch:0xffffffff, patch_g:0xed09ffff, 0x800001c0
2945/main_task | wifi_init, rom_run_flag:0x0000001c, new_run_flag:0x70010000
2945/main_task | wifi_test patch! wifi_sysHook->system_init=0x60110001, patch_offset=12
2970/cw1200_bh | CW1200 WSM init done.
Input buffers: 29 x 1632 bytes
Hardware: 7.8192
2970/cw1200_bh | WSM firmware [WSC_A04.09.0082], ver: 409, build: 82, api: 1060, cap: 0x0003
3000/main_task | dly_cap=0, delta_tmp=102615
3035/main_task | dly_cap=1, delta_tmp=52724
3071/main_task | dly_cap=2, delta_tmp=55162
3106/main_task | dly_cap=3, delta_tmp=59030
3141/main_task | dly_cap=4, delta_tmp=153210
3176/main_task | dly_cap=5, delta_tmp=155347
3211/main_task | dly_cap=6, delta_tmp=157943
3246/main_task | dly_cap=7, delta_tmp=159528
3282/main_task | dly_cap=8, delta_tmp=161123
3317/main_task | dly_cap=9, delta_tmp=162995
3352/main_task | dly_cap=a, delta_tmp=164578
3387/main_task | dly_cap=b, delta_tmp=165782
3422/main_task | dly_cap=c, delta_tmp=167039
3458/main_task | dly_cap=d, delta_tmp=167925
3493/main_task | dly_cap=e, delta_tmp=169151
3528/main_task | dly_cap=f, delta_tmp=131534
3563/main_task | dly_cap=0, delta_tmp=66973
3563/main_task | pll_dly_cap calib, pha_avg =134377 ,good dly from 0x4, to 0xe
3563/main_task | pll_dly_cap calib done, pll_dly_cap= 8, 0x28= 0x3628
3581/main_task | logen_cali........
3587/main_task | DC_cali........
3597/main_task | dig_config....
3597/main_task | iq_cali...
3597/main_task | iq_cali_init: band = 0
3736/main_task | factory freq_cal wifi_data= 0x28fff800, flags =1
3736/main_task | factory xtal cali:0xfa77
3737/main_task | dpd_cali...
4160/main_task | dpd_cali_new, reg_15= 0x630f
4160/main_task | wifi_switch_freq, freq: 20
4160/main_task | wifi_rf_switch_band,old: 0, new: 0
4224/main_task | wifi_switch_freq, freq: 60
4224/main_task | wifi_rf_switch_band,old: 0, new: 0
4287/main_task | wifi_switch_freq, freq: 40
4287/main_task | wifi_rf_switch_band,old: 0, new: 0
4313/main_task | dpd_cali_new, reg_82= 0x3ed
4331/main_task | dpd_cali_new,done, rst= 0x0
4331/main_task | DC_calib_new...
4331/main_task | iq_cali_init: band = 0
4408/main_task | config_dpd, ch=7
4419/main_task | iq_cali_new_ext ....
4419/main_task | iq_cali_init: band = 0
4487/main_task | rx_soft_agc_calib........
4498/main_task | rx_soft_agc_calib done, 0xcd =175b
4498/main_task | VLSB = 0.001908 efuse2 = 554, efuse1 = 423, efuse2- efuse1 =131
4500/59E | hal_gpadc_adc2volt_calib efuse:423/554 LV=423, HV=554, Slope:1908 Intcpt:-7
4500/main_task | 2g power_type=0x0, factory data:
ba80 0002 67f3 e50c 162c d0bd 0ec4 fa77 0000 0000 0000 0000 0100 2200 1d00 2300 1e00 1900 1f00 1a00
4500/main_task | ########## config_tx_power, delta_gain = 0
4500/main_task | g_wfdrv.cali_tx_power: 0x346a4d6c
4500/main_task | config_rfpll_lpf_cal, power on reg[0x2a] = 0x2679,
4500/main_task | temp_last: 675
4500/main_task | evm_temp_last: 675
4500/main_task | iq_temp_last: 675
4500/main_task | pll_lpf_temp_last: 675
4516/main_task | ieee80211_if_add wlan0 with addr 2c:16:bd:d0:c4:0e
4516/main_task | cw1200_bss_info_changed=0x40000 hw_priv:0x20039a48 priv:0x2003b52c
4516/main_task | [AP] Retry limits: 15 (long), 15 (short).
4516/main_task | cw1200_register_common done
4516/main_task | cw1200_start 2c:16:bd:d0:c4:0e.
4517/main_task | cw1200_start 0.
4517/main_task | !!! cw1200_add_interface: priv=0x2003b52c type 2 p2p 0 addr 0x2003da00M
4517/main_task | !!! cw1200_vif_setup: enabling priv
4517/main_task | cw1200_bss_info_changed=0xe hw_priv:0x20039a48 priv:0x2003b52c
4517/main_task | BSS_CHANGED_ASSOC.
4517/main_task | [STA] Slot time :20 us.
4517/main_task | cw1200_bss_info_changed=0x4000 hw_priv:0x20039a48 priv:0x2003b52c
4518/main_task | ieee80211_recalc_channel (nil) 12773 3.
4518/main_task | ignore IEEE80211_CONF_CHANGE_MONITOR (1) IEEE80211_CONF_CHANGE_IDLE (1)
4518/main_task | cw1200_bss_info_changed=0x2000 hw_priv:0x20039a48 priv:0x2003b52c
4518/main_task | net_cfg80211_attach 178.
4519/main_task | ieee80211_if_add ap0 with addr 2c:16:bd:d0:44:0f
4519/main_task | cw1200_bss_info_changed=0x40000 hw_priv:0x20039a48 priv:0x2003be04
4519/main_task | [AP] Retry limits: 15 (long), 15 (short).
4519/main_task | net_cfg80211_attach 178.
4520/main_task | ***addr:2c:16:bd:d0:c4:0e
4520/main_task | ***addr:2c:16:bd:d0:44:0f
4520/main_task | wpa_driver_nl80211_capa 72.
4520/main_task | nv_record_wifirec_find 70, type:cf0
4520/main_task | nv_record_wifirec_find 70, type:cf1
4520/main_task | nv_record_wifirec_find 70, type:cf2
4520/main_task | nv_record_wifirec_find 70, type:cf3
4520/main_task | eapol_sm_step 920 0x1c6288cd.
4520/main_task | EAPOL: SUPP_PAE entering state DISCONNECTED
4520/main_task | EAPOL: KEY_RX entering state NO_KEY_RECEIVE
4520/main_task | EAPOL: SUPP_BE entering state INITIALIZE
4520/main_task | eap_peer_sm_step 1485.
4520/main_task | EAP: EAP entering state DISABLED
4520/main_task | eap_peer_sm_step 1485.
4520/main_task | eap_peer_sm_step 1485.
4520/main_task | eapol_sm_step 920 0x1c6288d7.
4521/main_task | eap_peer_sm_step 1485.
4521/main_task | set epta w:60000 hw:1 wc:90000 fbit:0 fw:0
4521/main_task | [wsm_oper]wsm_epta_cmd 60000 40000 1.
4521/wifi_even | wifi_event_thread start
4531/main_task | wifi init success!!
components/fs/littlefs/littlefs_vfs.c:1284:warn: Mounting /data ...
4531/main_task | ota_check_bootinfo 382, error info->update_link:65535
components/fs/littlefs/littlefs_vfs.c:1401:warn: Registering /data ...
4535/main_task | sd init failed!
<E>DWT cortex_m_dwt_setup[281]: DWT init ok ! dwtcr 0x48000000, cnt 4
Welcome to AliOS Things
nano entry here!
hello world! count 0
5520/timer_tas | eapol_port_timers_tick 172.
hello world! count 1
hello world! count 2
hello world! count 3
hello world! count 4
hello world! count 5
hello world! count 6
hello world! count 7
hello world! count 8
hello world! count 9
hello world! count 10
hello world! count 11