问题:调试时转到“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个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

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

谢谢mt_dialog.

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

你好,
我已经采用了示例项目(“Blinky”和“ble_app_peripheral”)。这两个项目都在Keil进行。
我已经通过使用makefile和GCC完成了eclipse的设置。它正在为“Blinky”项目工作。
但对于“BLE_APP_PERITERALAL”,它显示在链接与内存相关的错误以及附加文档以供参考。
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):源= 0x00040000,长度= 0x8000
RETENTION_RAM2 (rw): ORIGIN = 0x00080768, LENGTH = 0x2968
RAM_IROM1 (rwx): ORIGIN = 0x20000000, LENGTH = 0x0160
RAM_IROM2(RWX):源= 0x20000160,长度= 0x0160
RAM_IROM3 (rwx): ORIGIN = 0x200002C0, LENGTH = 0x0080
RAM_IROM4 (rwx): ORIGIN = 0x20000340, LENGTH = 0x0100
RAM_IROM5(RWX):源= 0x20000440,长度= 0x7ac0
RAM_RW_IRAM51 (rw): ORIGIN = (0x20009000 - (1024 + 12)), LENGTH = (1024 + 12)
RAM_RW_IRAM52(R):源= 0x20009000,长度= 0x0020
RAM_RW_IRAM53(RW):原点=0x20000020,长度=0x01E0
RAM_RW_IRAM54 (rw): ORIGIN = 0x20009200, LENGTH = 0x0600

我使用的是DA14583DEVKT-B。如果我改变了链接器脚本中的内存范围(如下所示),能够生成目标文件,但代码不工作。
OTP(R):源= 0x00040000,长度= 0x8000
RETENTION_RAM2 (rw): ORIGIN = 0x00080768, LENGTH = 0x2968
RAM_IROM1 (rwx): ORIGIN = 0x20000000, LENGTH = 0x0160
RAM_IROM2(RWX):源= 0x20000160,长度= 0x0160
RAM_IROM3 (rwx): ORIGIN = 0x200002C0, LENGTH = 0x0080
RAM_IROM4(RWX):源= 0x20000340,长度= 0x0300
RAM_IROM5(RWX):源= 0x20000640,长度= 0x7ac0
RAM_RW_IRAM51 (rw): ORIGIN = (0x20009000 - (1024 + 12)), LENGTH = (1024 + 12)
RAM_RW_IRAM52(R):源= 0x20009000,长度= 0x0020
RAM_RW_IRAM53(RW):原点=0x20000020,长度=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个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

抱歉,但目前我们只支持keil,不支持da14580上的eclipse。请查看文件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个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

app_ble_peripheral,使用自定义配置文件才能与移动应用程序交互。如果要从外围设备发送数据,则会从您的手机中指示它(含义读取特征,或者写入要发送通知或指示的特征的配置)。在适当的特性指示时被调用的所有处理程序都位于User_custs1_impl.c中。例如,在指定的项目中,如果写入CUST1_IDX_CONTROL_POINT_VAL特性(由中央发送)除了0,则在写入CUST1_IDX_CONTROL_POINT_VAL特性时调用函数user_custs1_ctrl_wr_ind_handler()。固件启动软件计时器。当计时器经过发送通知(更新Cust1_DX_ADC_VAL_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个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

关于跳转表,请看看这篇文章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个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

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

谢谢mt_dialog.

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

你好,
我已访问对话框中的某些链接。yabo国际娱乐我在导航时没有找到任何条款和条件。只是我找到了左侧的订阅按钮。我已经订阅了这一点。请找到附件供您参考。

我可能无法访问正确的链接。请向我提供访问UM-B-050.PDF和DA14583(即参考手册)的用户手册的链接。请简要介绍访问文件的程序。

mt_dialog.
离线
最后一次露面:7个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

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

http://support.dialog-semicondiondiondum/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
离线
最后一次露面:3个月3周前
工作人员
加入: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个月3天前
工作人员
加入:2015-06-08 34
嗨Premukar,

嗨Premukar,

我们不为580 with register map/system viewer提供.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(0xD0);
执行上述指令后,我看不到“I2C_DATA_CMD_REG”寄存器值的任何变化

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

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

mt_dialog.
离线
最后一次露面:7个月3天前
工作人员
加入:2015-06-08 34
嗨premkumar,

嗨premkumar,

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

http://support.dialog-seminile.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和闪存(即1 Mbit)区域。

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

mt_dialog.
离线
最后一次露面:7个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

您可以在文档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个月3天前
工作人员
加入: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
你好,

你好,
我试图使用智能片段工具将Blinky.hex加载到嵌入式SPI Flash中。我能够连接,但无法将应用程序代码加载到嵌入式SPI闪光灯中。

我在连接时收到以下信息:
[info @ 16-02-18 17:12:36]开始下载程序...
[ACTION @16-02-18 17:12:37]请按单板上的硬件复位按钮,开始下载过程。
[信息@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闪存端口和引脚。

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

在向下将应用程序图像加载到嵌入式SPI闪光之前,我是否需要加载任何二进制文件(辅助引导加载程序或Flash_Programmer)。
请通过步骤过程提供有关步骤的信息,以便在正常模式下工作(即从闪存运行应用程序)。此问题阻止我们而不会进一步进步。

我们是否可以再次重新编程OTP区域以覆盖OTP区域中的现有辅助引导加载程序代码。

请找到附件供您参考。

mt_dialog.
离线
最后一次露面:7个月3天前
工作人员
加入: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个月3天前
工作人员
加入:2015-06-08 34
嗨,普雷姆库马尔,

嗨,普雷姆库马尔,

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

谢谢mt_dialog.