We've developed a board with the QCA4010 with the Winbond 25q16jv SPI flash (follow-up of 25q16dv). Application flashing over USB seems to work, as the art2 tool anszers with "4047 INFO Programming done successfully". However, the application does not start, and does not seem to load from flash to ram. When using the rb01 with rb02 platform, everything works fine. Following questions tegarding this problem:
- Does the OTP file or application image needs to be adapted for the different SPI flash chip?
- ART2 reports different memory sizes for these 2 situations:
for our board:
[0] 6024 INFO Free memory for initialization and calibration is 42696512 (42702656 - 6144) bytes.
For the rb02:
[0] 6024 INFO Free memory for initialization and calibration is 41582400 (41588544 - 6144) bytes.
What do these sizes mean? Obviously, we haven't got 42MB of flash, only 2MB.
- If we load our application image in RAM over JTAG, and start it, we get following crash output over UART, even before the application starts. Again, this works fine on the rb02. Do you have any information regarding this error?
Hi,
Below was the information about build and flash procedure for QCA4010.
In order to flash the image into QCA4010, configure the board in USB mode by changing the jumper pins as explained in the user guide of QCA4010. To access the console using serial terminal(Ex: Teraterm), configure the board in UART mode as explained in the QCA4010 doc.
You can flash the image using ART tool or by using JTAG.
If you are trying to flash using ART, setup the baord in USB board, Inside ART tool, run art_gui.exe file, once card was loaded, go to send command and give :
xp file=<image>
Once you see programming done successfully in art log window, you need to set the QCA4010 board to UART mode by changing the jumper pins. You can access the console using serial terminal ilke putty, teraterm etc.
Below are the answers to your questions.
1. - Does the OTP file or application image needs to be adapted for the different SPI flash chip?
A) No
2. - ART2 reports different memory sizes for these 2 situations
A) This is the size reserved for calibration purpose of the baord. It also depends on the storage we select in the art GUI like auto,eeprom,flash,otp,file.
3. - If we load our application image in RAM over JTAG, and start it, we get following crash output over UART, even before the application starts. Again, this works fine on the rb02. Do you have any information regarding this error?
A) This is the uart log, when the board reset. Please build the correct image and flash again to verify. Once image is loaded into board, in uart log window hit "Enter" and shell> prompt will appear.
Thanks,
Santhosh
Is it possible that we're prevented from running our application because the chip in question is not calibrated? It's the naked chip we're using on our board, not a certified module. Is there a way to program into it a prefabricated calibration file without actually calibrating it? We do not have the needed calibration equipment yet.
Meanwhile we found a way to write Wifi_Application Data to the OTP via Art2 CalibrationInformation/Operations. The OD commad states the following now
Hi,
To flash the QCA4010 hostless image, need to use SP241/242 board. If you try to flash QCA4010 image in different vendor specific onboard Soc chip, it may not work.
OTP Programming on QCA4010
Non-volatile memory configuration can be burned to OTP from a file with the command otpProgram or op (an abbreviated version of otpProgram):
otpProgram file=nvmem.bin;(verbose=1;)(dummy=1;)
op f=nvmem.bin;(v=1;)(d=1;)
The following command can be used to show the non-volatile memory writing result.
command : op f=..\command\refDesigns\SP242\nvmem_ruby.bin;v=1;d=1;
[0] 7510 INFO ..\command\refDesigns\SP242\nvmem_ruby.bin: NVRAM_CONFIG
[0] 7510 INFO =============================
[0] 7510 INFO 0x00: FD B2 00 00 00 12 13 14
[0] 7510 INFO 0x08: 15 81 89 89 04 04 01 1E
[0] 7510 INFO 0x10: 00 00 00 00 00 00 00 00
[0] 7510 INFO 0x18: 00 00 00 00 00 00 00 00
[0] 7510 INFO 0x20: 00 16 17 0A 0A
[0] 7510 INFO =============================
[0] 7510 INFO DUMMY: Did NOT program to OTP.
The default NV memory configuration file nvmem_ruby.bin can be found at command\refDesigns\SP242.
OTP contents can be dumped with the command otpDump or od
Command: od f=..\command\refDesigns\SP242\nvmem_ruby.bin;v=1;d=1;
[0] 7510 INFO =============================
Every networking device must have a unique MAC address. ART2 can be used to burn a MAC address permanently to the OTP memory. The new MAC address is used as the device MAC address for the subsequent system bring-up process. The MAC address format is xx:xx:xx:xx:xx:xx. To program the MAC address, type the following commands at the CART command entry. set mac= xx:xx:xx:xx:xx:xx; commit section=mac;memory=otp;
Thanks,
Santhosh
We have built an own board where there is QCA4010 directly mounted (not a module nor dev board) and an external flash.
The problem is there is no OTP data inside of it.
The question is: where to find concrete bin files which can be written to OTP streams #2 #3 #4 #5 (all of them are WLAN_APPLICATION) without using calibration hardware.
We tried using the nvmem.bin, but the calibration data does not seem to be part of it.
The question can be reformulated:
Which steps are necessary to get QCA4010 working, when it was bought as standalone part? We flashed the nvmem.bin and the application image both over USB, but this doesn't seem to be enough as the application does not start and the qca4010 does not even report its reset information over debug uart, although the application image runs fine on a rb02. What steps are we mising?
Hi,
The OTP bn files will be present in the ART package which you are using.
Ex:
ART2_IOE.WIN.3.2 Installer-00052.1 provides the OTP patch files in:
- Single band: ART2_IOE.WIN.3.2 Installer-00052.1\command\refDesigns\SP241\*.bin
- Dual band: ART2_IOE.WIN.3.2 Installer-00052.1\command\refDesigns\SP242\*.bin
If the OTP area was corrupted, board may not bring up once the image was flashed. We suggest you to use latest ART tool package inorder to flash the image into QCA4010.
Thanks,
Santhosh
For anyone interested, we were using the SDK for the 1.5MB chip version, while the chips on our board were the 1MB version.
Hi,
For flashing image on QCA4010 board, need to select the image of SDK based on flash size of QCA board.
If you are using 1MB varient board, you need to select 1MB SDK to build and flash image on QCA board.
If you are using 1.5MB varient board, you need to select 1.5 MB SDK to build and flash image on QCA board.
Regards!!