QN9021 failed to run BLE example project

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

QN9021 failed to run BLE example project

跳至解决方案
2,089 次查看
229856331
Contributor I

I run the prj_bass project, but it can not work.

I debug it with jlink, found that BLE stack APIs locate at the address around 0x01000000~0x0102000 (defined in  fw_func_addr.h), but the content of the chip in the range is all 0xFF.

SDK version 1.4.0

The marking letter of chip is  "9021    355Y5   00UMF"

I use the macro QN_9020_B4

标签 (1)
  • QN

标记 (2)
0 项奖励
回复
1 解答
1,969 次查看
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi,

What is the example that you are trying to run?

What are the lib that you have included?

Please look at the next AN https://www.nxp.com/docs/en/application-note/AN12288.pdf 

Is it your custom board?

Regards,

Mario

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,970 次查看
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi,

What is the example that you are trying to run?

What are the lib that you have included?

Please look at the next AN https://www.nxp.com/docs/en/application-note/AN12288.pdf 

Is it your custom board?

Regards,

Mario

0 项奖励
回复
1,969 次查看
229856331
Contributor I

Thanks!

The example is  QN902x_SDK_1.4.0\Projects\BLE\prj_bass.

I use the jlink commad in PRJROOT\src\link\iar\qn9020_flash.mac to get that the chip is “Device: QN9020 B3”.

After using the macro CFG_QN9020_B2, it works.

qn9020_flash.mac:

execUserReset()
{
__var chip_id;

chip_id = __readMemory32(0x40000088, "Memory");

if(chip_id == 0x2801) // QN9020 B0
{
__message "Device: QN9020 B0";
cfg_fw_9020_B0();
}
else if(chip_id == 0x2901) // QN9020 B1
{
__message "Device: QN9020 B1";
cfg_fw_9020_B1();
}
else if(chip_id == 0x2A01) // QN9020 B2
{
__message "Device: QN9020 B2";
cfg_fw_9020_B2();
}
else if(chip_id == 0x2B01) // QN9020 B3
{
__message "Device: QN9020 B3";
cfg_fw_9020_B2();
}
else if(chip_id == 0x2C01) // QN9020 B4
{
__message "Device: QN9020 B4";
cfg_fw_9020_B4();
}
else
{
__message "Error: unknown device ID: ", chip_id;
}
}

0 项奖励
回复