19个职位/0个新职位
最后一篇文章
丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
OTP编程后出错

我使用JTAG连接DA14580,然后使用Smartsnippet OTP映像刻录自定义映像。然后烧录OTP头,将2个标志设置为“是”,并将DMA长度编辑为“我的代码长度”。

我使用从内存读取来检查操作是否正确。

But now I cant find my chip using my cellphone. I use booter to download firmware it still cannot be found.

有什么问题吗?

Device:
MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
Hi daniel,

Hi daniel,

如果您使用的是专业开发工具可以检查通过the power profiler if the device is actually advertising or not via the indicated power consumption. If you ve burned the application flags in the OTP you wont be able to download code via the UART or any other peripheral instead of the JTAG (since the bootloader is deactivated). So what you can do is to try and download code via the JTAG (hope you haven't disabled the JTAG in the OTP header) and check if the application responds.

谢谢你的对话

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
Yes, I download code via JTAG

是的,我通过JTAG下载代码,但没有响应。

The code can work on the chip that haven't been burned, so the code is correct.

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
Is there anything I need to

在da1458x\u config\u basic和da1458x\u config\u advanced中有什么需要更改的吗?我只把CFG\u DEVELOPMENT\u DEBUG改为undef。

MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
你好daniel59,

你好daniel59,

In the OTP header there is a flag named JTAG ENABLE if you have set this to disabled you wont be able to attach the debugger and download code to it, so if you haven't set this you should be able to attach the debugger and download code. In case you have the JTAG ENABLE flag enabled and you can't run or download code even with the debugger i suppose that something is wrong with the burned 580. There aren't any special setting to do with image, even with the CFG_DEVELOPMENT_DEBUG the image should work (the specific flag just adds some breakpoints in order for the developer to identify any problems, if you downloaded the image as is this shouldn't occur). Also try to re-attach to the OTP header and check if you can reburn the size of the DMA Length in order to make it bigger (the maximum value that this field can take is 1FC0 meanning 32512 bytes in words), perhaps you miscalculated the size of your image, and the DMA length should be larger or equal to the size of your image. Additionally make sure that the Remapping flag is set as SRAM at 0.

谢谢你的对话

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
Yes the flag is Enable, and

Yes the flag is Enable, and the DMA length I set is 0x1406 because when I burn DA14580, it says that DMA length (0 words) should not be smaller than the image file code length (5126 words).

输入1FC0并烧录后,它变为1FE6。

附件是OTP头图片,并通过Booter下载成功图片。但手机还是找不到。

附件:
MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
你好daniel59,

你好daniel59,

If you burned the same chip you wont be able to reburn the OTP to the values you want, you can only switch from zeros to ones, thats why you got that value. Since you have the JTAG enabled you should be able to download code directly to the burned chip, if not by smart snippets at least by using keil, can you try that (download via keil) in order to make sure that the device is still working properly and that something went wrong with burning process. I had a test on an allready burned board with a DMA length over 1FC0 and placed the value that you mentioned (1FE6), seems that the mirroring is occuring just fine and the program runs, so, thats not your probelm. I suppose that something is wrong with the current 580 chip, although i insist on having your device on the power profiler and check what is it doing.

谢谢你的对话

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
我找不到基尔的芯片

我找不到芯片后,通过凯尔换软件到JTAG。我觉得芯片很好,因为我还可以连接它。

如何使用功率分析器检查芯片?

MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
你好daniel59,

你好daniel59,

不要把keil从SWD改成JTAG,只要试着通过keil通过SWD把代码下载到芯片中,并检查你是否能用手机找到它。为此,您必须使用pro套件(只有专家和pro套件具有功率测量电路),您可以将pro子板与pro套件上烧坏的OTP连接起来,如果芯片确实没有广告,则使用power profiler选项卡中的智能片段进行检查(在系统广告时检查三个电流峰值)。此外,您还可以检查电流消耗后复位和检查任何奇怪的行为。

谢谢你的对话

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
我在keil中使用debug

我在keil中使用debug,代码可以下载到芯片中。我可以看到数据做++操作工作正常,但仍然无法找到我的手机。OTP NVD需要燃烧吗?

I use DA14580 with my own circuit, so I cant use power profiler.

MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
你好daniel59,

你好daniel59,

否,如果您使用CFG\u INITIALIZE\u NVDS\u结构烧录映像,则NVDS结构将填充来自SDK的数据,并且设备将使用这些数据作为bd地址等。如果您不使用此标志并且OTP的NVDS为空,则是,您将有问题。检查上面的标志,并确保其已定义,也如果你可以从keil下载代码,你可以看到代码运行,但你看不到你的手机广告,那么它不是OTP燃烧它的当前580芯片或天线在你的定制设计。

谢谢你的对话

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
我检查了旗子

我检查了旗子,它被定义了。

But before OTP burning the circuit can work, after burning it cant.

MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
你好daniel59,

你好daniel59,

很抱歉,除了损坏的580外,我无法确定问题出在哪里,请尝试烧掉另一个芯片。

谢谢你的对话

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
我已经考虑过了…但是

我已经考虑过了…但是if it is damaged why Smartsnippet can connect to it? I'm afraid of damage another one...

MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
你好daniel59,

你好daniel59,

Try to measure the voltage supply of the 580 (in case you are trying to power it via a coin cell battery), if the power is less that 2.35V the 580 wont boot from the OTP. Also regarding the fact that the 580 can connect to Smart Snippets and is not able to transmit, perhaps the radio of the module has been damaged or even perhaps the chip is transmitting but the antenna has been damaged in result the week signal that your device transmits can't be picked up by your phone device.

谢谢你的对话

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
我发现问题是

我发现问题出在代码上。我下载一个不变的十六进制模板文件到芯片我的手机可以找到它,但下载我自己的代码我的手机不能。我会查一下我的代码,看看是怎么回事。

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
我在设置设备上更改应用程序

我用我的用户1更改app\on\u set\u dev\u config\u complete回调,在其中添加2个简单计时器。

void user\u app\u on\u set\u dev\u config\u complete(无效)
{
data\u used=app\u easy\u timer(8,app\u data\u timer\u cb\u处理程序);
timer\u used=app\u easy\u timer(100,app\u adcval1\u timer\u cb\u handler);
默认的应用程序在设置设备配置完成时;
}

那么芯片就找不到了。为什么会这样?在运行app\u on\u set\u dev\u config\u complete回调时,OTP之后有什么不同吗?

I want to know if I want the code run when the chip is powered, and only run one time, where should I place the code? Easy timer seems not work in the app_on_init callback. And if I put them in app_on_sytem_powered with an if statement I think it will waste some processing time.

丹尼尔59
离线
最后一次见到:1 year 5 months ago
已加入:2016-01-08 04:34
我只是评论和取消评论

我只是评论和取消评论2 timer callbacks and it can work on the OTPed chip...

MT\u对话框
离线
最后一次见到:2 months 2 weeks ago
工作人员
已加入:2015-06-08 11:34
你好daniel59,

你好daniel59,

There is no difference between the fw running on the OTP and while running on sysram, the callbacks and the functions executed are the one that you defined when building the code.

"Run the code when the chip is powered, and only run one time, where should i place the code", i am afraid that i dont understand what you would like to do, please clarify.

easy计时器在app\u on \u init()中不起作用,因为在调用app\u on \u init回调之后,也会调用堆栈重置,从而取消在app\u on \u init()期间设置的所有计时器。关于在app\u on \u system \u powered()中放置计时器设置如果您不想在app\u on \u system \u powered中放置if语句,您可以将计时器设置放置在\u on \u set \u dev \u config \u complete()中(就像您所做的那样),或者当您像大多数SDK示例一样开始播发时,或者在\u db\u init\u complete()上的\u app\u上完成数据库设置。

谢谢你的对话