Currently we are working on a design for a secure beacon using the DA14580. We are trying to minimize the size of the PCB and additionally to make it harder to read the internal OTP.
因此我们希望PCB到不是have UART TX RX or jtag pads. However this means we would need to program the device before assembly.
我们的问题:
1) Is it possible to program the OTP before assembly using an adapter (likeadapter)
2) What are the minimal connections for programming only (VBAT,VPP,UART RX, URAT TX, JTAG, SWDIO, SW_CLOCK,RST)?
3)没有XTAL,天线和VDCDC,VDCDC_RF电路的编程是POSIBE?
3) Is it possible to make the OTP unreadable or disable acces after programming?
Regards
Dieder Timmers
设备:
嗨diedertimmers,
Sorry for the delay, the team is working on it, we will get back when we have the answers to your questions.
Thanks MT_dialog
您好,我并不意味着劫持这个线程,但我找不到更好的地方发布这个问题:
How can I use a the DA14580 dev kit to connect to MY hardware that has a DA14580 chip on?
Reason: I am done with development using the the DA dev kit. My app works as expected. I have put together my own PCB with a Da 14580 chip on it.
我想 :
1. Use the DevKit FTDI/JLink to connect to my PCB/chip so that I can first test my design, then
2. Use the DevKit FTDI/JLink to program the OTP on my design so that it functions standalone.
这似乎我标准和logical development steps before going to production, yet I cannot find any reference as to how to do this.
我想要的是非常简单:我可以连接到我的pcb的da devkit的引脚连接列表(例如:在da14580dev - >用户硬件上的swdio上的swdio)。
谢谢你在这里的任何帮助, - klim
Hi Kim,
你使用的devkit是什么。使用开发套件 - Pro您可以构建一个能够执行您想要的子板,文档部分中可用的信息。对于我们来说,这将是基于子板规格构建程序员之前的下一步。
Regards
Dieder Timmers
klim9531,
You can find all the necessary schematics about the development kits (mother boards) in the Documents / Development kit Documentation section.
Thanks MT_dialog
Hello,
Thanks Dieder/MT_Dialog, these suggestions, while helpful, are a bit vague,-- maybe you could give us a quick list, or a hint at just which doc/page, something specific?...
对于任何斗争和半答案斗争的人。这是我所做的事情*有点*工作(更多关于*稍后)。请注意,我正在使用Murata P2ML3078主板,该主板有一个插座来连接Murata Type Zy子板。子板上有DA14580芯片,但芯片实际上是在包含天线的模块中包裹(LBCA2HNZYZ-711)。这样做的优点是,该模块已经通过了天线认证的有点艰巨的过程,制作了更短的生产。
可能是我下面的列表对于其他开发人员来说是显而易见的,但坦率地说,我尚未找到对主板/子板/ jlink / Keil调试器之间发生的事情的描述。魔法。因此,我必须尝试解决“假装”到主板/ jlink / keil IDE所需的连接,即我的PCB是子板。
1.在我的PCB上,我将所有DA14580引脚拉到PIN标题(这仍然是早期的开发PCB)。
2. In order to debug with the JLink debugger/Keil IDE, I need to connect 3 jumpers from my PCB to the motherboard: SWDIO to SDDIO, SWCLK to SWCLK, RST to RST.
3. In order to have power/ground on my PCB I need to connect 2 more jumpers from my PCB to the motherboard: VBAT to VCC_EXT(on the motherboard), GND to GND.
4. The Keil IDE still will not find my PCB, what gives? It seems that its because it needs the FTDI chip on the motherboard to act as flash memory, in order to 'feed the boot via UART'.
(我甚至不确定这是正确的 - 记得当我说没有一个这样的时候都在任何地方解释?)
5. So using the above assumption, I connect 4 more jumpers from my PCB to the motherboard: P0_5 to P0_5(UART1 RX), P0_4 to P0_4(UART1 TX), P0_2 to P0_2(CTS), P0_3 to P0_3(RTS).
Now I am able to connect to my PCB through the Murata Dev motherboard, download my app code, and start debug. I can see my amazing BLE device advertising, I can connect to it, set a notification, even send it some data. Life would be good for me, *except*-- I am still not able to get the data that I send over the BLE connection to output on the UART pin. The pin should be freed up from the flash programming at boot, and available to me for IO. A significant point is that when I disconnect my PCB and reconnect the motherboard/daughterboard combo, now my app works perfectly, data that I send over BLE is output to the UART pin. So it would *seem* that there is something in the BLE chip on my PCB, that is not the same as the BLE chip on the daughterboard. So for me, things are not quite figured out, but at least I can debug my app, on my PCB, and make some headway. For the reader that stumbles onto this post, hopefully this will help you to get your own PCB up and going.
In conclusion, Dieder/MT_Dialog, if you can confirm that the above is an accurate description of what people need, that would be great. And if you see something that I am missing in getting my PCB configured to perform correctly, possibly a flag that I need to set in the da14580_config.h file, or a calibration value that was previously burned into the OTP header in the chip on my PCB, can you please let me/us know?
谢谢,克林
Hi,
The UART issue on your board may be caused by HW flow control. Make sure that the flow control (uart_flow_off()) is called in your code before you start writing to the UART.
嗨mhv_dialog,
Thanks for the suggestion, I was able to find a way to work around the problem I described above, but I am not sure just why it works.
在应用程序代码中,我将来自P0_4 / P0_5的UART TX / RX GPIO引脚分配更改为P0_6 / P0_7,并在我的PCB上进行了一些GreenWire连接。
I rebuilt and ran debug, and now the UART communications to my microcontroller occur without any hitches.
我已经重新审视了我的PCB布局,并验证了DA14580上的原始TX / Rx还没有其他连接到我的Micro上的Rx / Tx。
因此,没有任何其他组件干扰的可能性,原始引脚*应与新分配的引脚相同,但它们只是无响应。
Not sure why this is happening, I will post the solution when I figure it out.
再次感谢您的帮助和您的回复, - klim