Hi,
for a slight redesign of an existing project, we wanted to switch to DA14682 from DA14680. First, I tried to program the hardware from the existing SmartSnippets Studio (v1.6.3.981) with SDK 1.0.10. As I received errors while trying to program, I downloaded the newer SDK (1.0.14) and imported the corresponding scripts. The first time I tried to program, it showed the device selection, and after selecting the correct processor, I was able to program the device. However, when trying to debug the project, I always get stuck in the reset handler.
当试图程序和调试旧设备(DA14680), I can't get the device selection to come up. The script 'program_qspi_config.bat' can be found under the scripts project, but it does not appear under external tools.
I also tried working with a newer version of SmartSnippets Studio (v2.0.14.1748), but I can't get the projects to compile here.
My questions are:
- Do I need the newer SDK to program and debug the DA14682?
- How can I get the device selection for the programming script to come up?
- Do I need the newer version of SmartSnippets to work with the DA14682?
Thank you,
Gunther Schwab
Hi ghschwab,
For the DA1468x product family, theDA1468x SDK1.0.14.1081andSmartSnippets Studio V1.6.3 for Windows OSare recommended to be used.
Did you import the python scripts on your workspace? Would it be possible to share some screenshots, so that I can understand your configuration?
You could also follow theUM-B-047: DA1468x Getting Started with the Development Kit.
Thanks, PM_Dialog
Hi,
thanks for your answer!
I am attaching screenshots to show the IDE version and the SDK.
I had only imported "scripts", not "python scripts". The necessary scripts do appear now. However, when trying to program the processor, I get the message that A file in the JLink path cannot be found. I didn't really change anything there. How do I set the JLink path?
Thanks,
Gunther
Hi ghschwab,
Do you have a custom board, or you are using any of our DKs?
Could you please re-install the tool and try it with a clean SDK directory? Please delete the .metadata folder too.
Thanks, PM_Dialog
Hi,
thank you for your response.
与此同时,我重新安装和明星的一切ted from a clean slate. I was able to import the project and it compiles now.
I am also able to program the device, but when trying to debug it, it hangs in the Reset Handler in the file "startup_AMRCM0.S". We have a custom board.
Do you have any recommendations what I could try?
The software worked fine on the previous version of the board with the DA14680. Aside from selecting the correct chip when programming, are there other steps that are necessary to switch to the DA14682?
Thank you,
Gunther
Hi ghschwab,
If you run the project without the debugger attached, is it running properly? Are you using any of the SDK examples?
Would it be possible to share a screenshot?
Thanks, PM_Dialog
Hi,
it does not seem to be running completely right, as I can't see the bluetooth device advertising.
On the previous hardware wir the DA14680, it works fine.
I am not using an SDK example, as this is our custom hardware, and we had the software running fine on the previous hardware.
Are there any other steps necessary to switch to the DA14682?
I am attaching a screenshot of the debugger.
Thanks,
Gunther
Hi ghschwab,
Could you please if the HW designs guidelines documents (link is provided below) had been followed when the schematics/PCB was being developed, as this sounds like a hardware related issue?
Additionally, did you build the project for DA14682 configuration?
//www.wsdof.com/sites/default/files/an-b-061_da1468x_application_hardware_design_guidelines_v1.9.pdf
Thanks, PM_Dialog
Hi,
I will check the hardware guidelines once again, but I assume they were followed, as everything worked fine on the previous hardware.
I checked the build configurations of a sample project (peripherals_demo) for both the DA14680 and the DA14682, but I can't find a difference. Can you maybe point me to the adjustments that need to be made to build for the DA14682?
Thanks,
Gunther
Hi,
we also went through the hardware guidelines again, we are sure that we followed everything. I am attaching a excerpt from our circuit diagram, could you please check if you find anything thats wrong?
Thanks,
Gunther
Hi ghschwab,
Let me check the schematic and I’ll get back to you shortly.
Thanks, PM_Dialog
Hi,
I have an update. I came across the DA14681 to DA14683 Porting Guide and followed the steps. Also, I was able to verify that the same issue appeared on a standard daughter board, so it is not hardware related.
I was able to make the changes as described in the Porting Guide, but now the project won't build. Here are the errors:
Building target: BIAvi+_device.elf
Invoking: Cross ARM C Linker
C:\Dialog_SDKS\DA1468x_DA15xxx_SDK_1.0.14.1081\DA1468x_DA15xxx_SDK_1.0.14.1081\sdk\interfaces\ble_stack\DA14683-00-Debug\libble_stack_da14683_00.a(rom_patch.o): In function `patched_hci_command_handler':
/home/build/workspace/SDK680/Release_Build_MANUAL/Artifacts/tmp/ble_stack/sdk/interfaces/ble_stack/DA14683-00-Release/../src/rom_patch/rom_patch.c:1721: undefined reference to `hci_command_handler'
./sdk/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.o: In function `ble_platform_initialization':
C:/Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/sdk/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.c:931: undefined reference to `BLE_TX_DESC_DATA_USER'
C:/Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/sdk/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.c:931: undefined reference to `BLE_TX_DESC_CNTL_USER'
C:/Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/sdk/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.c:931: undefined reference to `LLM_LE_ADV_DUMMY_IDX'
C:/Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/sdk/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.c:931: undefined reference to `LLM_LE_SCAN_CON_REQ_ADV_DIR_IDX'
C:/Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/sdk/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.c:931: undefined reference to `LLM_LE_SCAN_RSP_IDX'
C:/Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/sdk/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.c:931: undefined reference to `LLM_LE_ADV_IDX'
C:/Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/sdk/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.c:931: undefined reference to `rom_hci_cmd_desc_root_tab'
./sdk/ble/src/stack/plf/black_orca/src/arch/main/ble/jump_table.o:(.rodata.rom_func_addr_table_var+0x10c): undefined reference to `llc_le_length_conn_init_func'
./sdk/ble/src/stack/plf/black_orca/src/arch/main/ble/jump_table.o:(.rodata.rom_func_addr_table_var+0x128): undefined reference to `smpc_public_key_exchange_start_func'
./sdk/ble/src/stack/plf/black_orca/src/arch/main/ble/jump_table.o:(.rodata.rom_func_addr_table_var+0x12c): undefined reference to `smpc_dhkey_calc_ind_func'
./sdk/ble/src/stack/plf/black_orca/src/arch/main/ble/jump_table.o:(.rodata.rom_func_addr_table_var+0x130): undefined reference to `smpm_ecdh_key_create_func'
collect2.exe: error: ld returned 1 exit status
make: *** [BIAvi+_device.elf] Error 1
What can I do about this?
Thanks,
Gunther
Hi,
another update:
after selecting the correct rom.symbols file (not described in the guide), the project now compiles.
However, it still shows the exact same behaviour as in the beginning, it stops in the reset handler, both on our custom hardware and the daughter board. There still must be a configuration step missing.
Hi ghschwab,
Thanks for the update. This sounds like a software related issue. Could you please give a try with one of the SDK1 examples? Are you able to replicate this? Additionally, could you please share a screenshot showing where the code freezes in the bug mode?
Thanks, PM_Dialog
Hi,
I am able to get the peripherals_demo to run on the Dialog daughter board and our hardware. However, the pxp_reporter demo does not compile (see attached image).
The error message is:
Building target: pxp_reporter.elf
Invoking: Cross ARM C Linker
c:/diasemi/smartsnippetsstudio/gcc/4_9-2015q1/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: cannot open linker script file C:\Users\GHSchwab.GFT\workspace_SmartSnippets_SDK1.0.14\pxp_reporter/DA14683-00-Debug_QSPI/mem.ld: Invalid argument
The behavior is the same every time, peripherals_demo works, pxp_reporter does not compile, our own software will compile but not run correctly.
I am attaching a screenshot where our our app is stuck in the debugger.
I would be happy to send you a copy of the project, but it is too bit. Is there another way to send it to you?
Thanks,
Gunther
Hi ghschwab,
The most probable reason for this error is because the setup doesn't generate the linker scripts to make the project build completed. Before the actual build occurs, SmartSnippets Studio (SST) should generate the linker scripts from the mem.ld.h file and construct a mem.ld file in the build folder. In your case, the aforementioned file is never built and as a result the tool is not able to find the mem.ld file. This can be due to couple of reasons, like the makefile.targets file isn't in the project directory, or a missing configuration etc. It seems that either the installation of the SSS has issues, or you haven't properly imported the projects. Please note that the SDK along with the SSS should operate out of the box without any additional configuration. Since you have correctly installed the tool, all the projects should compile out of the box. In addition, this kind of error that you are seeing, might be related with your workspace. I would suggest you to follow the steps below :
Thanks, PM_Dialog