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
Solved! Go to Solution.
 
					
				
		
 mario_castaneda
		
			mario_castaneda
		
		
		
		
		
		
		
		
	
			
		
		
			
					
		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
 
					
				
		
 mario_castaneda
		
			mario_castaneda
		
		
		
		
		
		
		
		
	
			
		
		
			
					
		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
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;
 }
}
