bouffalolab / bl_iot_sdk Goto Github PK
View Code? Open in Web Editor NEWBL602/BL702 SDK. Any technical topic, please access the following link.
Home Page: http://bbs.bouffalolab.com
License: Apache License 2.0
BL602/BL702 SDK. Any technical topic, please access the following link.
Home Page: http://bbs.bouffalolab.com
License: Apache License 2.0
I want to use Clion IDE as the development environment for BL602 project, how do I do it?
remove the 'bl_iot_sdk/customer_app/get-start'.
because of it's name its the first folder I look at. BUT:
and it confuses the new user...
I wasted a lot of time because of this to compile my first program for the bl702!
Commit 07ceb89 deleted bl602_hal and hal_pwm.c.
There is no longer support for fdt pwm nodes, or the /dev/pwm
devices.
What happened?
For Windows there is BLFlashCube and for Linux, there's a binary of flash_build, but not really the source. This is problematic for developers on MacOS (with two processor types), Raspberry Pi, or devices like Chromebooks, both of which are popular in the education and emerging markets.
Could you please consider releasing the tools to program a device totally from source for at least the three major Ones that you've clearly intended to support?
Something that can reset the device to "factory" settings from source, creating partitions, etc. as well as replacing individual programs, and that can be easily automated (such as from Makefiles) would be welcome. Being able to reprogram configuration and code partitions individually seems pretty key.
I was pretty bummed when my prototype device finally arrived and I realized I can't flash it as I've also drawn blanks on programming it with OpenOCD.
Thanx!
如何才能做到官方宣称的 联网待机功耗仅80uA,冷启动快连仅90ms,有没有相关的demo?
I could not find much information on what the CKS is but the base address defined in the svd overlaps with UART0 at 0x4000a000. What is the correct base address for this?
Would it be possible for you to release information on the protocol used to program the BL602 over it's UART?
Additionally I'd appreciate it if you would consider releasing the source code of those parts of the bootrom which you are able to release.
This would allow the community to create easy to use flashing tools and boost integration of your ecosystem with existing development environments (like for example Arduino). Providing developers with an easy means to get started with your products would cause popularity to rise significantly, resulting in you getting noticed by potential customers.
Thank you.
Related to this post on BBS, I found the reason why this happens.
Here when NACK happens, it calls i2c_callback
which disables all interrupts and generally the I2C. Anyway, at that time, the I2C BUSY flag is still true, and there is not possible to immediately make another I2C transmission.
When we don't disable I2C on NACK, the flow is following:
I2C_TXF_INT > I2C_NAK_INT > I2C_NAK_INT > I2C_END_INT (and now is BUSY flag false).
So my solution is after NACK happen, don't disable interrupts or I2C, just set status and wait for END interrupt.
Then everything works like charm.
I'm having hard time to compile provided examples (e.g. get-start/blink, get-start/helloworld). Apparently there is some linker problem.
Is it just me (or my env)? BTW, I would really appreciate some docs for SDK's build system.
For example (helloworld):
archlinux% cd bl_iot_sdk/customer_app/get-start/helloworld
archlinux% make
use existing version.mk file
LD build_out/helloworld.elf
/home/jatsekku/tmp/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/jatsekku/tmp/bl_iot_sdk/customer_app/get-start/helloworld/build_out/coredump/libcoredump.a(bl_coredump.o): in function `cd_putchar':
/home/jatsekku/bl_iot_sdk/components/stage/coredump/bl_coredump.c:192: undefined reference to `_sp_base'
/home/jatsekku/tmp/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/10.2.0/../../../../riscv64-unknown-elf/bin/ld: /home/jatsekku/tmp/bl_iot_sdk/customer_app/get-start/helloworld/build_out/coredump/libcoredump.a(bl_coredump.o): in function `bl_coredump_print':
/home/jatsekku/bl_iot_sdk/components/stage/coredump/bl_coredump.c:409: undefined reference to `_sp_base'
collect2: error: ld returned 1 exit status
make: *** [/home/jatsekku/tmp/bl_iot_sdk/make_scripts_riscv/project.mk:470: /home/jatsekku/tmp/bl_iot_sdk/customer_app/get-start/helloworld/build_out/helloworld.elf] Error 1
archlinux%
我在查看ota的代码中here,我注意到activeIndex这个东西,它到底是干什么用的?
I wanna use DMA RX and RTO/RX END interrupt to get variable length data.
Code is like below
hosal_uart_init()
hosal_uart_callback_set(HOSAL_UART_RX_CALLBACK, _rx_callback)
hosal_uart_ioctl(HOSAL_UART_MODE_SET, HOSAL_UART_MODE_INT)
hosal_uart_ioctl(HOSAL_UART_DMA_RX_START)
... waiting rx int ...
rx_size = DMA_Channel_TranferSize(uart->dma_rx_chan)
hosal_dma_chan_stop(uart->dma_rx_chan)
// rx_size is always the same of config size in dma_config
The log shows rx int was triggered by UART_INT_RX_FIFO_REQ and the buffer dma was being used had nothing with incoming data.
Demo code project here,
bl_uart_test.zip
Is this file available somewhere? Or how should development on Linux work otherwise?
# make CONFIG_CHIP_NAME=BL602 CONFIG_LINK_ROM=1 -j flash
****** Please SET BL60X_SDK_PATH ******
****** Trying SDK PATH [/home/user/prog/bl_iot_sdk/customer_app/bl602_demo_wifi/../..]
use exsting version.txt file
****** Please SET BL60X_SDK_PATH ******
****** Trying SDK PATH [/home/user/prog/bl_iot_sdk/customer_app/bl602_demo_wifi/../..]
use exsting version.txt file
AS build_out/bl602/evb/src/boot/gcc/entry.o
CC build_out/bl602/evb/src/debug.o
AS build_out/bl602/evb/src/boot/gcc/start.o
[...]
Generating BIN File to /home/user/prog/bl_iot_sdk/customer_app/bl602_demo_wifi/build_out/whole_dts40M_pt2M_boot2release_ef7015.bin
Building Finish. To flash build output.
python3: can't open file '/home/user/prog/bl_iot_sdk/tools/flash_tool/core/bl60x_simple_flasher.py': [Errno 2] No such file or directory
make: *** [/home/user/prog/bl_iot_sdk/customer_app/bl602_demo_wifi/../../make_scripts_riscv/project.mk:523: flash] Error 2
In static void i2c_transferbytes(i2c_msg_t *pstmsg) there are 2 if conditions that have a single =.
if ((pstmsg->direct == I2C_M_WRITE) && (pstmsg->event = EV_I2C_TXF_INT)) {
and
} else if ((pstmsg->direct == I2C_M_READ) && (pstmsg->event = EV_I2C_RXF_INT)){
This looks suspiciously like they should be == equality tests.
Hello,
I'm getting errors while trying to make intensive simultaneous data transfer over BLE with BL702, configured as peripheral BLE device:
lld_evt_end:rx_desc_cnt(3) is less than evt->rx_cnt(8),assert!!!
, lld_evt_end
lld_evt_end:num of prog evt (0)!!!
, lld_evt_end
lld_evt_end:evt_mode(4), cur_rx_desc_cnt(8)
, lld_evt_end
ble_assert_param,return address 0x23014e48
, ble_assert_param
ble_assert_param, param0=0x3, param1=0x8, file=/home/yhqin/work/bl_iot_sdk/components/network/ble/blecontroller/ip/ble/ll/src/lld/lld_evt.c, line=3462
, ble_assert_param
ble_assert_param,return address 0x23014c80
, ble_assert_param
ble_assert_param, param0=0x3, param1=0x8, file=/home/yhqin/work/bl_iot_sdk/components/network/ble/blecontroller/ip/ble/ll/src/lld/lld_evt.c, line=3468
, ble_assert_param
I'm using latest m0s1 static library from master branch of bl_iot_sdk repository and RTL8761BU USB Bluetooth adapter under Linux. I've tried std static library and it behaves exactly in the same way. LE MTU is 247 bytes. My Linux test software sends data stream to device (peripheral) at about 8 kB/s speed using GATT write without response command and at the same time device firmware sends another data stream to host (central) at about 8 kB/s using notifications. If data streams are synchronized (i.e. BL702 device waits for data write, receives and sends received data back to host), then I've get such errors (assertions) very rarely. But if data streams are simultaneous and asynchronous, I'm getting assertion after about five seconds of data transfer testing.
My investigation through disassembly and code analysis shows, that at the end of BLE transfer packet sequence in this erroneous condition transfer counter rx_cnt (received packets counter, maintained by software), becomes greater than rx_desc_cnt received packet counter, maintained by BLE hardware controller in EM (Exchange Memory) shared memory area. In the example above software thinks that it received 8 (eleven!) packets, but there were only 3 (three!) packets processed by hardware (reported by hardware RX descriptor counter). This condition triggers the assertion, because hardware should process at least the same packets count as software does. So this shouldn't be but it is here.
It seems, that the main issue is the transfer end timeout "interrrupt" handling, implemented in lld_evt_slot_isr()
handler. This functions tries to finish timed out events by calling lld_evt_end_isr(false)
in case of passed transfer time:
/* BLE_EVENTAPFAINTSTAT_BIT | BLE_EVENTINTSTAT_BIT */
if ((irq_stat & 0x108) == 0) {
/* BLE_RXINTSTAT_BIT */
g_endisr_miss_cnt = g_endisr_miss_cnt + 1;
if ((irq_stat & 2) != 0) {
BLE_INTACK_REG = 2;
}
lld_evt_end_isr(false);
result = 1;
}
In this case IRQ status is checked against pending end of transfer interrupt flags and if there is no such flags lld_evt_end_isr(false)
gets called. But this leads to the potential race condition if in some later moment, when lld_evt_slot_isr()
returns one (1) external interrupt flags variable gets updated with newer interrupt status register value, having one of "end of transfer" flags set. So, the same condition will be processed two times instead of exactly one time. It seems for me, that it is an logical error. Interrupt handler lld_evt_end_isr(false)
should not be called without actual interrupt status bits were set.
I've tried to override lld_evt_slot_isr(void)
with my simple implementation, calling two functions:
extern void rwip_wakeup_end(void);
extern void ea_finetimer_isr(void);
int __wrap_lld_evt_slot_isr(void)
{
// Handle end of wake-up
rwip_wakeup_end();
// Try to schedule immediately
ea_finetimer_isr();
return 0;
}
And this solves the data transfer error. I've used ld (linker) parameter --wrap=lld_evt_slot_isr
to override original lld_evt_slot_isr()
calls in the provided by bl_io_sdk repository static library.
So I definitely sure, that there is an error in software library, that triggers assertion in intensive data transfer applications. Please, explain the implemented logic or change it to prevent possible race conditions and assertion triggering.
Here is BL702 MCU log data, captured before assertion takes places:
[19608.12h.03m.14s.391] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=0
[19608.12h.03m.14s.423] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=0
[19608.12h.03m.14s.439] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=0
[19608.12h.03m.14s.471] BLE_TXRXDESCCNT = 0x0200, g_endisr_miss_cnt=0
[19608.12h.03m.14s.487] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=0
[19608.12h.03m.14s.519] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=0
[19608.12h.03m.14s.535] BLE_TXRXDESCCNT = 0x0101, g_endisr_miss_cnt=0
[19608.12h.03m.14s.567] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=0
[19608.12h.03m.14s.583] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=0
[19608.12h.03m.14s.594] lld_evt_end:rx_desc_cnt(1) is less than evt->rx_cnt(2),assert!!!
[19608.12h.03m.14s.594] , lld_evt_end
[19608.12h.03m.14s.594] lld_evt_end:num of prog evt (0)!!!
[19608.12h.03m.14s.594] , lld_evt_end
[19608.12h.03m.14s.594] lld_evt_end:evt_mode(4), cur_rx_desc_cnt(2)
[19608.12h.03m.14s.594] , lld_evt_end
[19608.12h.03m.14s.594] ble_assert_param,return address 0x230148f2
[19608.12h.03m.14s.594] , ble_assert_param
[19608.12h.03m.14s.594] ble_assert_param, param0=0x1, param1=0x2, file=/home/yhqin/work/bl_iot_sdk/components/network/ble/blecontroller/ip/ble/ll/src/lld/lld_evt.c, line=3462
[19608.12h.03m.14s.594] , ble_assert_param
[19608.12h.03m.14s.594] ble_assert_param,return address 0x2301472a
[19608.12h.03m.14s.594] , ble_assert_param
[19608.12h.03m.14s.594] ble_assert_param, param0=0x1, param1=0x2, file=/home/yhqin/work/bl_iot_sdk/components/network/ble/blecontroller/ip/ble/ll/src/lld/lld_evt.c, line=3468
[19608.12h.03m.14s.610] , ble_assert_param
[19608.12h.03m.14s.610] BLE_TXRXDESCCNT = 0x0200, g_endisr_miss_cnt=1
[19608.12h.03m.14s.626] BLE_TXRXDESCCNT = 0x0201, g_endisr_miss_cnt=3
[19608.12h.03m.14s.658] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.674] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.706] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.722] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.754] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.770] BLE_TXRXDESCCNT = 0x0201, g_endisr_miss_cnt=4
[19608.12h.03m.14s.802] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.818] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.850] BLE_TXRXDESCCNT = 0x0101, g_endisr_miss_cnt=4
[19608.12h.03m.14s.866] BLE_TXRXDESCCNT = 0x0100, g_endisr_miss_cnt=4
[19608.12h.03m.14s.898] BLE_TXRXDESCCNT = 0x0101, g_endisr_miss_cnt=4
As you can see from log data above g_endisr_miss_cnt gets incremented exactly after assertion message. So I'm sure, that such assertions are direct consequences of lld_evt_end_isr(false)
uncorrect calls in lld_evt_slot_isr()
handler.
I suppose, that BL702 (and may be other MCUs) uses RivieraWaves Bluetooth IP core and driver software and I definitely sure, that such serious bug should be translated to RivieraWaves representatives to find a right way to solve this issue. I've tried various workarounds (f.e. increasing connection interval, lowering MTU size, etc), but nothing helps. The only way to solve this issue at the current moment is using lld_evt_slot_isr()
wrapper, described above.
If lld_evt_slot_isr()
was implemented by BouffaloLab I kindly ask developers to check it's implementation for BL702 and other MCUs to fix described errors.
Here the peripheral AON has a baseAddress of 0x4000F800
, but all registers in this section has an offset of 0x800
.
I think his offset is redundant as the 0x800
is already added in its base address.
Another proof is bl602.h, where AON_BASE
is set to 0x4000F000
and the offsets in aon_reg.h has an offset of 0x8XX
based on this base address.
<peripheral>
<name>AON</name>
<description>AON.</description>
<baseAddress>0x4000F800</baseAddress>
<groupName>AON</groupName>
<size>32</size>
<access>read-write</access>
<addressBlock>
<offset>0</offset>
<size>0x1000</size>
<usage>registers</usage>
</addressBlock>
<registers>
<register>
<name>aon</name>
<description>aon.</description>
<addressOffset>0x800</addressOffset>
<fields>
<field>
<name>sw_pu_ldo11_rt</name>
<lsb>22</lsb>
<msb>22</msb>
</field>
<field>
<name>ldo11_rt_pulldown_sel</name>
<lsb>21</lsb>
<msb>21</msb>
</field>
<field>
<name>ldo11_rt_pulldown</name>
<lsb>20</lsb>
<msb>20</msb>
</field>
<field>
<name>pu_aon_dc_tbuf</name>
<lsb>12</lsb>
<msb>12</msb>
</field>
I'm using the lwip socket library to send data to a server and found a problem.
I'm sending data in 3200 byte chunks using lwip_write().
After sending each fragment I use lwip_read() to get the response from the server.
After several reception and transmission cycles (about three), the bl602 freezes and stops transmitting data.
I discovered that at some point the sys_arch_sem_wait(sem, 0) function is called, which blocks the TCPIP task from executing.
What could be causing this blocking?
Thanks!
请教一下,有BL602的MQTT开发demo吗?刚接触这一款芯片,不是很熟悉。
@ Line 190
Lines 188 to 192 in db12f7c
Please provide more documents for developer.
We are glad to hear voice from you.
Any requirements? Feel free to talk or request Here.
BTW:
We are plan to add Nuttx support soon.
is there some document to introduct the project dir and building rules? 有没有工程项目的配置文档
What's the power consumption in BLE only mode?
Can BL602 hold GPIO status during sleep?
I was looking at: ble_controller_sleep
Do you think the more accurate comments should be: // if >=0, means not allow sleep ?
pdsLevel , pdsCfgLevel in bl_pds.c give us ideas on different power down levels, can you explain a bit more?
你好,官方:
请问是否有详细的BL602的Linux环境搭建教程,我看了SDK里的《https://github.com/bouffalolab/bl_iot_sdk/tree/master/docs/html/Developer_Environment》只是有一些组件的install,没有看到相关交叉编译的工具链以及PATH的设置,请问方便提供详细环境搭建资料吗?
Error loading Python lib '/tmp/_MEILQJ82s/libpython3.7m.so.1.0': dlopen: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/_MEILQJ82s/libpython3.7m.so.1.0)
For any app use headers from hal, CONFIG_CHIP_NAME=BL602
needs to be exported so the compile script can find the correct components.
By default, it links with link script flash.ld which does not have informaiton to link against wifi lib. To compile wifi, the flash_rom.ld
needs to be selected with CONFIG_LINK_ROM=1
Using the Xt-ZB1 board I am following the directions from the Pine64 Linux starter guide. I am trying to flash the sdk_app_helloworld.bin using blflash. I have pin D28 pulled high to 3.3V as seen in the user manual.
I seems to flash but then times out after it seems to run the Eflash Loader. Is there another step that I have to perform to be able to download? Thanks.
Hello, I test BL602 (ai-thinker WB-12F/WB2-32S) with iperf TCP client (ipc command with customer_app/bl602_demo_wifi), the bandwidth always < 3Mbps (indoor) . Can you give me some suggestions for optimization?
If yes, how to use?
thanks.
Hi there,
I already got some DEV-Boards but cant seem to find an upload tool for linux machines. I cant even get BlDevCube.exe from this repo running in a Win10 VM, because it seems this is not the right file taken from Pythoninstaller. Another version of BlDevCube i could find on the Internet is abuout 10 times bigger filesize-wise and works flawless. However, i would like to upload from native linux terminal.
The reset functions in the ROM have a bug where they do not first clear the swrst bit prior to writing it. This means that if you issue a GLB_SW_System_Reset
twice the second one will hang in the while loop.
ROM function looks like this
void GLB_SW_System_Reset(void)
{
_BL602_HBN_GLB = _BL602_HBN_GLB & 0xfffffffc;
_BL602_CLK_CFG0 = _BL602_CLK_CFG0 & 0xff0000ff;
_DAT_40000ffc = 0;
_BL602_SWRST_CFG2 = _BL602_SWRST_CFG2 & 0xfffffff8 | 6;
do {
BL602_Delay_US(10);
} while( true );
}
should be
void GLB_SW_System_Reset(void)
{
_BL602_HBN_GLB = _BL602_HBN_GLB & 0xfffffffc;
_BL602_CLK_CFG0 = _BL602_CLK_CFG0 & 0xff0000ff;
_DAT_40000ffc = 0;
_BL602_SWRST_CFG2 = _BL602_SWRST_CFG2 & 0xfffffff8;
_BL602_SWRST_CFG2 = _BL602_SWRST_CFG2 & 0xfffffff8 | 6;
do {
BL602_Delay_US(10);
} while( true );
}
Can we also get some documentation on what register at address 0x40000ffc
does? It seems to be reset when the root clock is updated
Hi,
I tried to use OpenOCD.exe in Flasher, sadly, it miss following libraries: libftdi1.dll
, libusb-0-1-4.dll
and libusb1.0.dll
.
I tried latest OpenOCD, it actually works, but it shows "WaitCmd" is missing, so maybe yours OpenOCD is modified?
Hi!
I'm trying to port a C++ application to the BL602 using this SDK. This app use some parts of the STL like std::unique_ptr and std::array, for example.
All my attempts to build and run my app failed, either at build/link time or at runtime.
I tried to build a much simpler application based on sdk_app_helloworld. Here's a first example that actually works:
MyCxxClass.h
#ifndef __MYCXXCLASS__
#define __MYCXXCLASS__
#include <stdio.h>
class MyCxxClass {
public:
MyCxxClass() = default;
~MyCxxClass() = default;
void Test() {
printf("Hi!\n");
}
};
#endif
App.cpp:
#include "MyCxxClass.h"
extern "C" {
void RunMyApp(void) {
MyCxxClass c;
c.Test();
}
}
main.cpp:
void RunMyApp(void);
void bfl_main(void)
{
/*
* Init UART using pins 16+7 (TX+RX)
* and baudrate of 2M
*/
bl_uart_init(0, 16, 7, 255, 255, 2 * 1000 * 1000);
helloworld();
RunMyApp();
}
Now, let's try with a slightly modified App.cpp:
#include "MyCxxClass.h"
#include <memory>
std::unique_ptr<MyCxxClass> c;
extern "C" {
void RunMyApp(void) {
c->Test();
}
}
This time, the link fails:
$ make -j
use exsting version.mk file
CXX build_out/sdk_app_helloworld/App.o
AR build_out/sdk_app_helloworld/libsdk_app_helloworld.a
LD build_out/sdk_app_helloworld.elf
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/build_out/sdk_app_helloworld/libsdk_app_helloworld.a(App.o): in function `_GLOBAL__sub_I_c':
/home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/sdk_app_helloworld/App.cpp:4: undefined reference to `__dso_handle'
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/sdk_app_helloworld/App.cpp:4: undefined reference to `__dso_handle'
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/build_out/freertos_riscv_ram/libfreertos_riscv_ram.a(heap_5.o): in function `vPortFree':
/home/jf/git/test/bl_iot_sdk/components/bl602/freertos_riscv_ram/portable/MemMang/heap_5.c:300: undefined reference to `vAssertCalled'
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/jf/git/test/bl_iot_sdk/components/bl602/freertos_riscv_ram/portable/MemMang/heap_5.c:329: undefined reference to `vAssertCalled'
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/build_out/freertos_riscv_ram/libfreertos_riscv_ram.a(tasks.o): in function `xTaskIncrementTick':
/home/jf/git/test/bl_iot_sdk/components/bl602/freertos_riscv_ram/tasks.c:2843: undefined reference to `vAssertCalled'
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/build_out/freertos_riscv_ram/libfreertos_riscv_ram.a(tasks.o): in function `xTaskResumeAll':
/home/jf/git/test/bl_iot_sdk/components/bl602/freertos_riscv_ram/tasks.c:2254: undefined reference to `vAssertCalled'
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/build_out/sdk_app_helloworld.elf: hidden symbol `__dso_handle' isn't defined
/home/jf/git/test/bl_iot_sdk/toolchain/riscv/Linux/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [/home/jf/git/test/bl_iot_sdk/make_scripts_riscv/project.mk:439: /home/jf/git/test/bl_iot_sdk/customer_app/sdk_app_helloworld/build_out/sdk_app_helloworld.elf] Error 1
I can of course define vAssertCalled
but I still have this issue with __dso_handle
which is, if I understand correctly, a part of the C++ stdlib.
Is there anything I can do to build a C++ application based on this SDK?
Thanks!
文档: https://github.com/bouffalolab/bl_docs/tree/main/BL602_RM/zh_CN pdf:154页 支持的占空比 (n 为整数, 且 2 <= n <= 65535^2)
另外能不能添加一个控制舵机的pwm demo
git checkout e231762 (which, ironically, is "mine")
compiles and links customer_app/sdk_app_gpio successfully for me. (The build breaks trying to run flash_bin on MacOS because that's a Linux file and we've covered this in pine64#25
If I follow that with:
% git checkout master
Previous HEAD position was e231762 Merge pull request #14 from robertlipe/clean_components
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
make -j10 V=1
The link now fails:
/Users/robertlipe/src/buf_labs/bl_iot_sdk/toolchain/riscv/Darwin/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /Users/robertlipe/src/buf_labs/bl_iot_sdk/customer_app/sdk_app_gpio/build_out/bl602/libbl602.a(start.o): in function .L0 ': /Users/robertlipe/src/buf_labs/bl_iot_sdk/components/bl602/bl602/evb/src/boot/gcc/start.S:102: undefined reference to
__preinit_array_start'
/Users/robertlipe/src/buf_labs/bl_iot_sdk/toolchain/riscv/Darwin/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /Users/robertlipe/src/buf_labs/bl_iot_sdk/components/bl602/bl602/evb/src/boot/gcc/start.S:114: undefined reference to __preinit_array_end' /Users/robertlipe/src/buf_labs/bl_iot_sdk/toolchain/riscv/Darwin/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /Users/robertlipe/src/buf_labs/bl_iot_sdk/components/bl602/bl602/evb/src/boot/gcc/start.S:124: undefined reference to
__init_array_start'
/Users/robertlipe/src/buf_labs/bl_iot_sdk/toolchain/riscv/Darwin/bin/../lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/bin/ld: /Users/robertlipe/src/buf_labs/bl_iot_sdk/components/bl602/bl602/evb/src/boot/gcc/start.S:128: undefined reference to `__init_array_end'
collect2: error: ld returned 1 exit status
make: *** [/Users/robertlipe/src/buf_labs/bl_iot_sdk/customer_app/sdk_app_gpio/build_out/sdk_app_gpio.elf] Error 1
This is certainly a build break by @qwang s checkin at 25fb041
That changed flash_rom.ld, but didn't change
../../components//bl602/bl602/evb/ld/ram.ld
../../components//bl602/bl602/evb/ld/flash.ld
and probably should because start.S is now referencing those symbols
Yeah, this directory is being built
... /bl602/bl602/evb/ld -T flash.ld -lbl602 -L/Users
@qwang, please roll this change back or deliver an updated version that includes this change to all the startups and builds correctly.
Thank you.
Hi,
I would like to ask how PIR peripheral can be used with BL702?.
I already saw: #43
But I also saw that it can be done via firmware.
BL_Err_Type HBN_Set_PIR_Threshold(uint16_t threshold)
function.Hzzz@LAPTOP-7EDE7524 MSYS /d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event
$ ./genromap
****** Please SET BL60X_SDK_PATH ******
****** Trying SDK PATH [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../..]
use existing version.mk file
****** Please SET BL60X_SDK_PATH ******
****** Trying SDK PATH [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../..]
use existing version.mk file
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/external_libs/jsmn/jsmn.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_interface.o
AS build_out/bl602/evb/src/boot/gcc/entry.o
CC build_out/bl602_demo_event/aes_test.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_json.o
AS build_out/bl602/evb/src/boot/gcc/start.o
CC build_out/bl602_demo_event/aws_iot_main.o
CC build_out/bl602_demo_event/ble.o
CC build_out/bl602/evb/src/debug.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_topics.o
CC build_out/bl602_demo_event/blsync_ble_app.o
CC build_out/bl602/evb/src/strntoumax.o
CC build_out/bl602_demo_event/coex_debug.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_types.o
CC build_out/bl602/bfl_main.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_json_utils.o
CC build_out/blcrypto_suite/src/blcrypto_suite_bignum.o
CC build_out/bl602_demo_event/main.o
CC build_out/bl602_demo_event/rijndael.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_common_internal.o
CC build_out/blcrypto_suite/src/blcrypto_suite_ecp.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_connect.o
CC build_out/bl602_demo_event/wifi_prov_api.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_publish.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aes_test.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws_iot_main.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:evb/src/boot/gcc/start.o] 错误 1
make[1]: *** 正在等待未完成的任务....
CC build_out/blcrypto_suite/src/blcrypto_suite_ecp_curves.o
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_subscribe.o
CC build_out/blcrypto_suite/src/blcrypto_suite_platform_util.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:312:aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_interface.o] 错误 1
make[1]: *** 正在等待未完成的任务....
CC build_out/aws-iot/aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_unsubscribe.o
CC build_out/blcrypto_suite/src/blcrypto_suite_porting.o
CC build_out/blmtd/bl_mtd.o
CC build_out/blfdt/src/fdt.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/external_libs/jsmn/jsmn.o] 错误 1
CC build_out/blfdt/src/fdt_ro.o
CC build_out/blestack/src/port/bl_port.o
CC build_out/blog/blog.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_uart.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:ble.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_topics.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:evb/src/strntoumax.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_types.o] 错误 1
CC build_out/blfdt/src/fdt_wip.o
CC build_out/blestack/src/common/atomic_c.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_adc.o
CC build_out/blcrypto_suite/src/blcrypto_suite_hacc.o
CC build_out/blcrypto_suite/src/blcrypto_suite_aes.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_sec_eng.o
CC build_out/blestack/src/common/buf.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:evb/src/boot/gcc/entry.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_jobs_json.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:blsync_ble_app.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bfl_main.o] 错误 1
CC build_out/blog_testc/blog_testc.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:rijndael.o] 错误 1
CC build_out/blog_testc/blog_testc1_diable.o
CC build_out/blcrypto_suite/src/blcrypto_suite_hacc_glue.o
CC build_out/blog_testc/blog_testc2_full.o
CC build_out/blfdt/src/fdt_rw.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_dma.o
CC build_out/blestack/src/common/log.o
CC build_out/blcrypto_suite/src/blcrypto_suite_hacc_secp256r1_mul.o
CC build_out/blfdt/src/fdt_sw.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client.o] 错误 1
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_common.o
CC build_out/blestack/src/common/poll.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:evb/src/debug.o] 错误 1
CC build_out/blfdt/src/fdt_strerror.o
CC build_out/blestack/src/common/rpa.o
CC build_out/blcrypto_suite/src/blcrypto_suite_fw_api.o
CC build_out/bloop/src/bloop_base.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_glb.o
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-bl602-build] 错误 2
make: *** 正在等待未完成的任务....
CC build_out/bloop/src/bloop_handler_sys.o
CC build_out/blog_testc/blog_testc3_nopri.o
CC build_out/blota/bl_sys_ota.o
CC build_out/blcrypto_suite/src/blcrypto_suite_export_fw.o
CC build_out/blota/bl_sys_ota_cli.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_timer.o
CC build_out/blestack/src/common/work_q.o
CC build_out/blog_testc/blog_testc4_onlypri.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_hbn.o
CC build_out/blfdt/src/fdt_addresses.o
CC build_out/blfdt/src/fdt_overlay.o
CC build_out/blestack/src/common/utils.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_aon.o
CC build_out/blfdt/src/fdt_empty_tree.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:coex_debug.o] 错误 1
CC build_out/blfdt/test/tc_blfdt_dump.o
CC build_out/blestack/src/common/dec.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_pds.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_pwm.o
CC build_out/blestack/src/common/dummy.o
CC build_out/blfdt/test/tc_blfdt_wifi.o
CC build_out/blestack/src/common/tinycrypt/source/aes_decrypt.o
CC build_out/blestack/src/common/tinycrypt/source/aes_encrypt.o
CC build_out/blfdt/test/blfdt_cli_test.o
CC build_out/blestack/src/common/tinycrypt/source/cbc_mode.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_l1c.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_bignum.o] 错误 1
make[1]: *** 正在等待未完成的任务....
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_ef_ctrl.o
CC build_out/blestack/src/common/tinycrypt/source/ccm_mode.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_mfg_efuse.o
CC build_out/blestack/src/common/tinycrypt/source/cmac_mode.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_mfg_flash.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_json_utils.o] 错误 1
CC build_out/blestack/src/common/tinycrypt/source/ctr_mode.o
CC build_out/blestack/src/common/tinycrypt/source/ctr_prng.o
CC build_out/blestack/src/common/tinycrypt/source/ecc.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_mfg_media.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_dac.o
CC build_out/blestack/src/common/tinycrypt/source/ecc_dh.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:main.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_ecp.o] 错误 1
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_ir.o
CC build_out/blestack/src/common/tinycrypt/source/ecc_dsa.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_spi.o
CC build_out/blestack/src/common/tinycrypt/source/ecc_platform_specific.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_i2c.o
CC build_out/bl602_std/bl602_std/Common/soft_crc/softcrc.o
CC build_out/blestack/src/common/tinycrypt/source/hmac.o
CC build_out/bl602_std/bl602_std/Common/xz/xz_crc32.o
CC build_out/blestack/src/common/tinycrypt/source/hmac_prng.o
CC build_out/blestack/src/common/tinycrypt/source/sha256.o
CC build_out/bl602_std/bl602_std/Common/xz/xz_dec_lzma2.o
CC build_out/bl602_std/bl602_std/Common/xz/xz_dec_stream.o
CC build_out/blestack/src/common/tinycrypt/source/utils.o
CC build_out/bl602_std/bl602_std/Common/xz/xz_decompress.o
CC build_out/blestack/src/bl_hci_wrapper/bl_hci_wrapper.o
CC build_out/bl602_std/bl602_std/Common/xz/xz_port.o
CC build_out/blestack/src/hci_onchip/hci_driver.o
CC build_out/bl602_std/bl602_std/Common/cipher_suite/src/bflb_crypt.o
CC build_out/blestack/src/host/att.o
CC build_out/bl602_std/bl602_std/Common/cipher_suite/src/bflb_hash.o
CC build_out/bl602_std/bl602_std/Common/cipher_suite/src/bflb_dsa.o
CC build_out/blestack/src/host/conn.o
CC build_out/blestack/src/host/crypto.o
CC build_out/blestack/src/host/gatt.o
CC build_out/bl602_std/bl602_std/Common/cipher_suite/src/bflb_ecdsa.o
CC build_out/bl602_std/bl602_std/Common/platform_print/platform_device.o
CC build_out/bl602_std/bl602_std/Common/platform_print/platform_gpio.o
CC build_out/blestack/src/host/hci_core.o
CC build_out/blestack/src/host/hci_ecc.o
CC build_out/bl602_std/bl602_std/Common/ring_buffer/ring_buffer.o
CC build_out/bl602_std/bl602_std/RISCV/Device/Bouffalo/BL602/Startup/interrupt.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:wifi_prov_api.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-bl602_demo_event-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_subscribe.o] 错误 1
CC build_out/blestack/src/host/l2cap.o
CC build_out/blestack/src/host/uuid.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_romapi.o
CC build_out/blestack/src/host/smp.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_sflash_ext.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_sf_cfg_ext.o
CC build_out/blestack/src/host/keys.o
CC build_out/blestack/src/host/settings.o
CC build_out/bl602_std/bl602_std/StdDriver/Src/bl602_xip_sflash_ext.o
CC build_out/blestack/src/cli_cmds/ble_cli_cmds.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_publish.o] 错误 1
CC build_out/blestack/src/cli_cmds/bredr_cli_cmds.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl_mtd.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:blog.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-blmtd-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_ecp_curves.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-blog-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_common_internal.o] 错误 1
CC build_out/blestack/src/cli_cmds/pts_cli_cmds.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_porting.o] 错误 1
CC build_out/blestack/src/services/ble_tp_svc.o
CC build_out/blestack/src/host/bl_host_assist.o
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_unsubscribe.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/port/bl_port.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_platform_util.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/atomic_c.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/buf.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_aes.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:aws-iot-device-sdk-embedded-C/src/aws_iot_mqtt_client_connect.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-aws-iot-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_adc.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_uart.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_sec_eng.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/poll.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl_sys_ota_cli.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_dma.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:test/blfdt_cli_test.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_hacc.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_sw.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/rpa.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_wip.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_pwm.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_hacc_glue.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_hacc_secp256r1_mul.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_addresses.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:blog_testc1_diable.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_fw_api.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:blog_testc2_full.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:test/tc_blfdt_dump.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_rw.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/work_q.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_glb.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_timer.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/cmac_mode.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/log.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/utils.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_dac.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_strerror.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_hbn.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/bloop_base.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/bloop_handler_sys.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-bloop-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_pds.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:blog_testc4_onlypri.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/ctr_prng.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_mfg_media.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/dec.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/ccm_mode.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/cbc_mode.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/hmac_prng.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_overlay.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/blcrypto_suite_export_fw.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:blog_testc3_nopri.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/aes_encrypt.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-blcrypto_suite-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_aon.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/xz/xz_dec_stream.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl_sys_ota.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-blota-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:test/tc_blfdt_wifi.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/smp.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_ir.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/hmac.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/cipher_suite/src/bflb_crypt.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/hci_onchip/hci_driver.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_empty_tree.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/ecc_dsa.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_i2c.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/fdt_ro.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/ecc_platform_specific.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/hci_ecc.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-blfdt-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/dummy.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/att.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/sha256.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/cipher_suite/src/bflb_dsa.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_romapi.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/ring_buffer/ring_buffer.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/RISCV/Device/Bouffalo/BL602/Startup/interrupt.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/aes_decrypt.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/l2cap.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/crypto.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_ef_ctrl.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/cipher_suite/src/bflb_hash.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/ecc.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/xz/xz_decompress.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/hci_core.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/platform_print/platform_device.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_l1c.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:blog_testc.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/xz/xz_dec_lzma2.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/xz/xz_crc32.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-blog_testc-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/utils.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_common.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_spi.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/keys.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/soft_crc/softcrc.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/settings.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/ctr_mode.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_mfg_efuse.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/cli_cmds/pts_cli_cmds.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/common/tinycrypt/source/ecc_dh.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_mfg_flash.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/services/ble_tp_svc.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_sf_cfg_ext.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/uuid.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/cli_cmds/ble_cli_cmds.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_sflash_ext.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/StdDriver/Src/bl602_xip_sflash_ext.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/bl_host_assist.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/conn.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/cli_cmds/bredr_cli_cmds.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/xz/xz_port.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/host/gatt.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/platform_print/platform_gpio.o] 错误 1
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:src/bl_hci_wrapper/bl_hci_wrapper.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-blestack-build] 错误 2
make[1]: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/make_scripts_riscv/component_wrapper.mk:313:bl602_std/Common/cipher_suite/src/bflb_ecdsa.o] 错误 1
make: *** [/d/bl_iot_sdk-master-1.6.32/bl_iot_sdk-master/customer_app/bl602_demo_event/../../make_scripts_riscv/project.mk:563:component-bl602_std-build] 错误 2
in make_scripts_riscv/project.mk
:
flash: all
cd$(BL60X_SDK_PATH)/tools/flash_tool && env SDK_APP_BIN=$ (APP_BIN) SDK_BOARD=$(PROJECT_BOARD) SDK_NAME=$(PROJECT_NAME) SDK_MEDIA_BIN=$(APP_MEDIA_BIN) SDK_ROMFS_DIR=$(APP_ROMFS_DIR) SDK_DTS=$(PROJECT_DTS) SDK_XTAL=$(PROJECT_BOARD_XTAL) BL_FLASH_TOOL_INPUT_PATH_cfg2_bin_input=$(APP_BIN) ./bflb_iot_tool --chipname=BL602 --baudrate=2000000 --port=/dev/ttyUSB1 --pt=$(PROJECT_PATH)/img_conf/partition_cfg_2M.toml --dts=$(PROJECT_PATH)/img_conf/bl_factory_params_IoTKitA_40M.dts --firmware=$(APP_BIN)
need to change to correct path:
flash: all
cd $(BL60X_SDK_PATH)/flash_tool && env SDK_APP_BIN=$(APP_BIN) SDK_BOARD=$(PROJECT_BOARD) SDK_NAME=$(PROJECT_NAME) SDK_MEDIA_BIN=$(APP_MEDIA_BIN) SDK_ROMFS_DIR=$(APP_ROMFS_DIR) SDK_DTS=$(PROJECT_DTS) SDK_XTAL=$(PROJECT_BOARD_XTAL) BL_FLASH_TOOL_INPUT_PATH_cfg2_bin_input=$(APP_BIN) ./bflb_iot_tool --chipname=BL602 --baudrate=2000000 --port=/dev/ttyUSB1 --pt=$(PROJECT_PATH)/img_conf/partition_cfg_2M.toml --dts=$(PROJECT_PATH)/img_conf/bl_factory_params_IoTKitA_40M.dts --firmware=$(APP_BIN)
How to use PIR interrupt?
Which pins can be used for PIR detection?
Thanks!
I bought some XT-ZB1 DevKit boards and want to run some Zigbee on it.
Basic samples compiles ok but Zigbee sample cannot find components.
but when I trying "./genzsed" compilation failed
/root/bl_iot_sdk-master/components/network/zigbee/zigbee_def.mk: No such file or directory
请问一下有捕获外设PWM信号频率的Demo吗?
建议把工具链设置为子仓库,节省clone的时间,让开发者自主选择对应的工具链,而不用全部clone下来
Hi,
I've searched high and low and can't seem to find any info on how to do an OTA update on the BL602. I see that tcp port 3333 is used but don't see any applications that use that port to send flash image to the part. The program BLFlashEnv doesn't seem to know anything about OTA.
Thanks for any help
Rick
Hi,
When I flash (after I erase) using:
python3 bltool.py --write 0 whole_dts40M_pt2M_boot2release_c84015.bin
It takes 6 minutes! That seems really long to me. Am I doing something wrong?
Thanks,
Rick
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.