问题:调试时转到“HardFault_HandlerC”

28个职位/ 0个新职位
最后发表
Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
问题:调试时转到“HardFault_HandlerC”

我在DA14583DEVKT-B板上使用SDK 5.0.3软件。
我采用了“ble_app_peripheral”(给出的BLE示例项目)。
当执行函数“app_dis_init()”时,控件将会进入“HardFault_HandlerC()”。
只有"return"指令在"app_dis_init()"里面。
我无法确定为什么它将在执行“app_dis_init()”函数时进入异常处理程序。
如果我评论“app_dis_init()”函数,它不会去异常处理程序,我能够看到移动设备上的设备名称。

请帮我解决这个问题。
请查收附件截图,供您参考

设备:
MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

您对app_dis_init()做过任何更改吗?你能不能试着按原样下载示例项目,以便检查是否发生了相同的事件?

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我已经采用了示例项目(“Blinky”和“ble_app_peripheral”)。这两个项目都在Keil进行。
我已经通过使用makefile和GCC完成了eclipse的设置。它正在为“Blinky”项目工作。
但是对于“ble_app_peripheral”,它显示了以下与内存相关的链接错误,并附上了文档供您参考。
1.__exe / Dialog_DA14583。axf节”。constdata'将不适合区域' RAM_IROM4'
2.Section ER_IROM5 loading at [20000440,2000552f]与Section .constdata loading at [200003e4,200005eb]重叠
3.区域' RAM_IROM4'溢出428字节。

链接器脚本文件中的内存部分:
OTP (r): ORIGIN = 0x00040000, LENGTH = 0x8000
RETENTION_RAM2 (rw): ORIGIN = 0x00080768, LENGTH = 0x2968
RAM_IROM1 (rwx): ORIGIN = 0x20000000, LENGTH = 0x0160
ram_iro2 (rwx): ORIGIN = 0x20000160, LENGTH = 0x0160
RAM_IROM3 (rwx): ORIGIN = 0x200002C0, LENGTH = 0x0080
RAM_IROM4 (rwx): ORIGIN = 0x20000340, LENGTH = 0x0100
RAM_IROM5 (rwx): ORIGIN = 0x20000440, LENGTH = 0x7AC0
RAM_RW_IRAM51 (rw): ORIGIN = (0x20009000 - (1024 + 12)), LENGTH = (1024 + 12)
RAM_RW_IRAM52 (r): ORIGIN = 0x20009000, LENGTH = 0x0020
RAM_RW_IRAM53 (rw): ORIGIN = 0x20009020, LENGTH = 0x01E0
RAM_RW_IRAM54 (rw): ORIGIN = 0x20009200, LENGTH = 0x0600

我使用的是DA14583DEVKT-B。如果我改变了链接器脚本中的内存范围(如下所示),能够生成目标文件,但代码不工作。
OTP (r): ORIGIN = 0x00040000, LENGTH = 0x8000
RETENTION_RAM2 (rw): ORIGIN = 0x00080768, LENGTH = 0x2968
RAM_IROM1 (rwx): ORIGIN = 0x20000000, LENGTH = 0x0160
ram_iro2 (rwx): ORIGIN = 0x20000160, LENGTH = 0x0160
RAM_IROM3 (rwx): ORIGIN = 0x200002C0, LENGTH = 0x0080
RAM_IROM4 (rwx): ORIGIN = 0x20000340, LENGTH = 0x0300
RAM_IROM5 (rwx): ORIGIN = 0x20000640, LENGTH = 0x7AC0
RAM_RW_IRAM51 (rw): ORIGIN = (0x20009000 - (1024 + 12)), LENGTH = (1024 + 12)
RAM_RW_IRAM52 (r): ORIGIN = 0x20009000, LENGTH = 0x0020
RAM_RW_IRAM53 (rw): ORIGIN = 0x20009020, LENGTH = 0x01E0
RAM_RW_IRAM54 (rw): ORIGIN = 0x20009200, LENGTH = 0x0600

请帮我解决这个问题。
我在keil中看到了“sysram_case23.ini”,这个.ini文件的意义是什么?
任何支持文档,这将帮助我解决内存问题和设置eclipse。

附件:
ankitdaf
离线
最后看到:3年2个月前
加入:2015-09-03 20:14
嗨Premkumar

嗨Premkumar

我也想做同样的事,也遇到了类似的事情。我能够克服它,但现在面临其他问题。你有兴趣交换意见吗?这也许能让我们俩都有所进展让一切运转起来

说什么?

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

抱歉,但是目前da14580只支持keil,不支持eclipse。请检查doc AN-B-024.pdf,也许你会发现它有用。

Thansk MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我已经在keil uVision中采用了示例BLE外围代码。我不知道在哪里需要修改应用代码才能从DA14583DEVKT-B将数据(即一些字节的信息)发送到移动应用。能否提供任何文件来理解如何更改应用。目前我在DA14583DEVKT-B板上使用SDK 5.0.3软件。
请提供SDK 5.0.3的软件指导文档。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

app_ble_peripheral使用自定义配置文件来与移动应用程序交互。如果你想从外设发送数据,你需要从你的移动电话(意思是读取一个特征,或写一个特征的配置发送通知或指示)。当由适当的特征指示时调用的所有处理程序都位于user_custs1_implc中。例如,在指定的项目中,当编写CUST1_IDX_CONTROL_POINT_VAL特征时,将调用函数user_custs1_ctrl_wr_ind_handler(),如果所写的值(由中央发送)不是0,则固件启动一个软件计时器。当计时器结束时发送一个通知(更新CUST1_IDX_ADC_VAL_1_VAL的值),只有在中央启用了通知时,中央才接收到通知。关于SDK5和示例的更多信息可以在um - b . 050.pdf中找到。

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我在“jump_table.c”文件中观察到了jump_table_base[] (array)。这个数组(即jump_table_base[])的用途是什么?
编译app_ble_peripheral项目时创建的临时文件。为什么要创建这些临时文件。
附件是地图文件的屏幕截图,里面显示的是临时文件。

请提供关于跳转表概念和“rom_symdef.txt”的用途的信息

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我无法访问um - b . 050.pdf的链接,它可以在论坛上找到。
请帮我找到um - b . 050.pdf。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

关于跳转表,请看看这篇文章http://support.dialog-semiconductor.com/jumptablebase88关于跳表,其用法主要是在ROM overide功能,如果你想例如ROM代码不使用默认的函数(一个位于跳表),您可以实现自己的功能在RAM和ROM overide函数通过跳表,这个rom_sym_def.txt文件包含所有位于ROM内存中的函数符号。我不知道在eclipse中创建的文件。

如果您试图访问该文件,那么您应该已经接受并提交了使用软件和文件的条款和条件。管理员需要几天的时间才能扩大您对这些文档的访问权限。耐心一点,你的访问权限就会扩大。

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我无法访问UM-B-050.pdf。请提供访问链接。
请提供DA14583用户手册的链接。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

您是否接受了条款和条件,当您试图下载SDK和用户手册,以获得访问许可?

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我访问了一些对话半导体网站的链接。yabo国际娱乐在导航过程中,我没有发现任何条款和条件。我在左边找到了订阅按钮。我已经订阅了。附件文件供您参考。

我可能无法访问正确的链接。请提供um - b . 050.pdf的链接和DA14583的用户手册(即参考手册)。请简单给我提供一下查阅文件的程序。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

这个过程非常简单,你只需点击你想要访问的链接,如果你的访问被授予,那么你就可以看到文档,如果你的访问没有被授予,那么条款和条件对话框就会出现。接受此请求后,您的请求将经过管理员以允许您访问门户(这个过程需要几天时间)。请查看以下文件的链接我们的系统目前没有请求。试着访问我提供的链接,并检查你是否可以下载文件。

http://support.dialog semiconductor.com/resource/um - b - 050 - da1458x softwa..。

http://support.dialog-semiconductor.com/resource/da14583-datasheet

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
在第二个链接中,我可以看到数据表。pdf链接,也可以打开pdf。但点击第一个链接后,页面显示为附件。它没有显示任何条款和条件。

也请帮我拿到第一个链接的权限

JE_Dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2013-12-05 14:02
普雷库马尔,你能去

你好,Premkumar,你可以去DA14580产品,软件和工具,并点击挂锁图标旁边的SDK或其发布说明(顶部项目)。这将打开SDK访问请求。

BR JE_Dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我使用Keil uVision (MDK-Lite,评估版本)工作在DA14583DEVKT-B板。调试时,我无法在调试窗口上看到外围设备和所有特殊函数寄存器(包括I2C)。也不能使用逻辑分析仪看到端口引脚上的逻辑变化。

请给出信息,我如何使用特殊的函数寄存器来调试I2C。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premukar,

嗨Premukar,

我们没有为580提供一个带有注册映射/系统查看器的.srf文件。但我想你可以通过记忆窗口看到你的记录。

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我能通过记忆窗口看到寄存器。我想写I2C驱动。目前,EEPROM驱动程序是可用的,但需要编辑以与其他IC的接口(即IC有I2C接口)。

我能够发送奴隶地址和写位在I2C线。但是我不能在I2C线路上发送任何数据字节。

以下指令对"I2C_DATA_CMD_REG"寄存器(即位置0x50001310)没有显示任何影响
SEND_I2C_COMMAND (0 x01aa);//设置R/W位为1(读访问)

SEND_I2C_COMMAND (0 xd0);
执行上述指令后,我看不到“I2C_DATA_CMD_REG”寄存器值的任何变化

请帮我解决这个问题。请分享是否有任何通用的I2C驱动程序可用于dailog(用于读和写操作)。

请给任何文件知道I2C工作在对话,以了解先进先出。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨premkumar,

嗨premkumar,

除了eeprom驱动外,580没有任何其他官方I2C驱动,但在论坛上一些相关的I2C帖子上有关于驱动如何操作的广泛解释。请查看以下链接。

http://support.dialog-semiconductor.com/multiple-byte-read-i2c

http://support.dialog-semiconductor.com/documentation

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我不能使用flash来保存我的应用程序代码。
目前,“scatterfile_common。“Sct”只包含有限的内存范围。我认为它只映射到RAM区域(42KB,从0x20000000开始)。
请提供不同内存区域(ROM, OTP, System SRAM, Retention ram and Flash)的基址信息

任何我需要改变的分散文件或内存部分地址在keil,以使用ROM和Flash(即1mbit)区域。

请指导我按照要求使用不同的内存部分。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

您可以在文档UM-B-011:用户手册- DA14580内存映射和分散文件中的580和分散文件信息中找到所需的基址信息。

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我已经浏览了文档UM-B-011,但没有关于如何使用DA14583中的1mbit Flash内存和OTP的信息。
DA1458x的数据表中没有提供引导顺序。请分享文档以了解启动顺序。

请帮我用flash写我的申请和OTP

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premukar,

嗨Premukar,

您可以在UM-B-012创建辅助引导加载程序第5节中看到14583的引导顺序。示例项目与使用da14583兼容,您只需要使用583选项来构建它们。您可以使用智能片段与14583以及烧录Flash,只是确保选择正确的SPI引脚配置(选择14583应该选择正确的引脚,但您也可以检查从板设置所选的引脚)。如果您想与flash进行交互,可以看一下接近示例,其中使用了SUOTA配置文件来初始化、启用内部flash并与之进行交互。使用14583的内部闪光灯不需要一个特殊的驱动器,只要正确的引脚。

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
我试着下载闪灯。十六进制嵌入SPI Flash使用智能片段工具。我能够连接,但不能下载应用程序代码嵌入SPI Flash。

我在连接时收到以下信息:
[INFO @16-02-18 17:12:36]开始下载程序…
[ACTION @16-02-18 17:12:37]请按单板上的硬件复位按钮,开始下载过程。
[INFO @16-02-18 17:12:40]已检测到复位
[INFO @16-02-18 17:12:42]成功断开COM12端口连接。
[INFO @16-02-18 17:12:42] COM12端口连接打开成功。
[INFO @16-02-18 17:12:42]成功断开COM12端口连接。
[INFO @16-02-18 17:12:42]成功下载固件文件到单板。
[INFO @16-02-18 17:12:42]成功配置SPI Flash接口和引脚。

请给出需要遵循的程序步骤下载应用程序图像到嵌入式SPI flash。
我不能做任何操作,如烧伤和擦除的Flash。智能代码片段显示错误消息,同时启动刻录和擦除操作。

我是否需要下载任何二进制文件(Secondary Boot loader或flash_programmer)之前下载应用程序图像到嵌入式SPI flash。
请给出关于在正常模式下工作的步骤(即从flash运行应用程序)的信息。这个问题阻碍了我们而没有取得进一步的进展。

是否可以重新编程OTP区域,覆盖OTP区域中现有的Secondary引导加载程序代码。

附件文件供您参考。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premukar,

嗨Premukar,

确保正确的UART引脚已连接,以便Smart Snippets将flash编程器下载到您的设备。还要确保从Board Setup部分选择了正确的SPI引脚。在打开Smart Snippets之后,您应该选择芯片的14583版本,这应该选择适当的SPI引脚(尽管您应该在板设置中明确地检查引脚)。之后,选择了SPI选项卡,按连接(为了flash程序员在芯片内下载)然后擦掉SPI flash(最可能的原因无法抹去或燃烧flash销选择- 2 _0,2、2 _4,2 _9应该选择在板的设置)。没有必要为烧录flash下载任何二进制文件,Smart Snippets在连接过程上下载它。

由于MT_dialog

Premkumar。
离线
最后看到:5年6个月前
加入:2015-12-16 05:45
你好,

你好,
是否可以多次写OTP区域。

MT_dialog
离线
最后看到:7个月2天前
工作人员
加入:2015-06-08 34
嗨Premkumar,

嗨Premkumar,

你不能多次燃烧OTP, OTP代表一次可编程,你只能将位从0翻转到1。

由于MT_dialog