Git Product home page Git Product logo

bouffalolab / bl_iot_sdk Goto Github PK

View Code? Open in Web Editor NEW
258.0 22.0 171.0 1.67 GB

BL602/BL702 SDK. Any technical topic, please access the following link.

Home Page: http://bbs.bouffalolab.com

License: Apache License 2.0

Shell 0.43% C 35.34% Makefile 0.50% C++ 22.22% Assembly 0.08% Batchfile 0.01% CMake 0.08% HTML 2.17% Perl 0.03% Python 34.57% GDB 0.01% CSS 0.01% Tcl 0.80% SmPL 0.01% Dockerfile 0.01% Roff 3.72% DTrace 0.01% VBScript 0.01% PLSQL 0.02% XC 0.02%
iot wifi ble combomesh risc-v bl602 bouffalolab bouffalo bl60x aiot

bl_iot_sdk's People

Contributors

avamander avatar bkpepe avatar bouffalolab2020 avatar chinawrj avatar ferenc- avatar fortysixandtwo avatar ivq avatar jczhang777 avatar jevere avatar madushan1000 avatar paulcapron avatar paulusmack avatar prozsolt avatar qarmin avatar robertlipe avatar serv-inc avatar shchen-lab avatar sthibaul avatar suculent avatar virus-v avatar yafeijin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bl_iot_sdk's Issues

remove 'bl_iot_sdk/customer_app/get-start' folder

remove the 'bl_iot_sdk/customer_app/get-start'.

because of it's name its the first folder I look at. BUT:

  • it uses the outdated API;
  • makefile scripts has no support for the new bl70x chip

and it confuses the new user...

I wasted a lot of time because of this to compile my first program for the bl702!

Cant flash BL602 due to `UnicodeDecodeError` in Flash Tool

Tried this on different Computers and with different DT-BL10 Boards. Pressed D8 and afterwards EN to enter Programming Mode before pressing Button in Flash Tool.

UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 4927: character maps to <undefined>

boufallo_bl602_flasher

Missing portable flash loader

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!

BL602低功耗

如何才能做到官方宣称的 联网待机功耗仅80uA,冷启动快连仅90ms,有没有相关的demo?

Bootloader protocol

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.

I2C is not waiting to END when NACK happens

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.

Broken build of examples?

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%

how to use uart in both dma and int mode?

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

bl60x_simple_flasher.py

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

BL702 BLE: assertion trap in binary library while intensive RX/TX

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.

Incorrect AON offset in SVD file?

https://raw.githubusercontent.com/bouffalolab/bl_iot_sdk/master/components/bl602/bl602_std/bl602_std/Device/Bouffalo/BL602/Peripherals/soc602_reg.svd

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>

LWIP sockets problem

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

请教一下,有BL602的MQTT开发demo吗?刚接触这一款芯片,不是很熟悉。

License not signed

@ Line 190

bl_iot_sdk/LICENSE

Lines 188 to 192 in db12f7c

identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");

ask for building document?

is there some document to introduct the project dir and building rules? 有没有工程项目的配置文档

power consumption in BLE only mode

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?

Some issues about compiling

  1. For any app use headers from hal, CONFIG_CHIP_NAME=BL602 needs to be exported so the compile script can find the correct components.

  2. 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

XT-ZB1 Downloading Program

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.
blflash_error

iperf tcp client Bandwidth < 3Mbps

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?

Please provide Upload tool for Linux

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.

BlDevCube_error

Reset ROM functions only work once

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

OpenOCD.exe miss depedencies

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?

Issues with C++

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!

Recent commit broke build

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.

BL702 PIR

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.

  1. Which pins can be associated with PIR?
  2. Can it work with PIRs without amplifier (analog ones)?
    That would explain BL_Err_Type HBN_Set_PIR_Threshold(uint16_t threshold) function.
  3. Does hardware allow to use it as normal interrupt or is it provided just as a source to wake-up MCU?

请教下,我使用最新得SDK,版本为1.6.31和1.6.32。编译你们得demo编译不过,我以前使用的是1.6.22得版本,编译是OK的。我在windows10进行编译

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

project.mk 'flash' wrong path cd

in make_scripts_riscv/project.mk:

flash: all
cd $(BL60X_SDK_PATH)/tools/flash_tool &amp;&amp; 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 build Zigbee sample firmware?

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

BL602 PWM

请问一下有捕获外设PWM信号频率的Demo吗?

OTA info

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

Flash times seem long

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.