问题:调试时转到“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
保留RAM2(rw):原点=0x00080768,长度=0x2968
RAM_IROM1(rwx):原点=0x20000000,长度=0x0160
ram_iro2 (rwx): ORIGIN = 0x20000160, LENGTH = 0x0160
RAM_IROM3(rwx):原点=0x200002C0,长度=0x0080
RAM_IROM4(rwx):原点=0x20000340,长度=0x0100
RAM_IROM5 (rwx): ORIGIN = 0x20000440, LENGTH = 0x7AC0
RAM_RW_IRAM51(RW):原点=(0x20009000-(1024+12)),长度=(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
保留RAM2(rw):原点=0x00080768,长度=0x2968
RAM_IROM1(rwx):原点=0x20000000,长度=0x0160
ram_iro2 (rwx): ORIGIN = 0x20000160, LENGTH = 0x0160
RAM_IROM3(rwx):原点=0x200002C0,长度=0x0080
RAM_IROM4 (rwx): ORIGIN = 0x20000340, LENGTH = 0x0300
RAM_IROM5 (rwx): ORIGIN = 0x20000640, LENGTH = 0x7AC0
RAM_RW_IRAM51(RW):原点=(0x20009000-(1024+12)),长度=(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中的可编程外围代码为例。我无法确定需要更改应用程序代码以将数据(即一些字节的信息)从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中的函数,例如,如果您希望ROM代码不使用默认函数(位于跳转表中的函数),您可以在RAM中实现自己的函数,并通过跳转表覆盖ROM中的函数,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。但点击第一个链接后,页面显示为附件。它没有显示任何条款和条件。

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

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

您好,Premkumar,您可以转到DA14580产品、软件和工具并单击SDK或其发行说明(顶部项目)旁边的挂锁图标吗。这将打开SDK访问请求。

BR JE_对话

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、系统SRAM、保留RAM和闪存)的基址信息

任何我需要改变的分散文件或内存部分地址在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一起使用并刻录闪存,只需确保选择正确的SPI引脚配置(选择14583应选择正确的引脚,但您也可以从电路板设置中检查所选的引脚)。如果您想与闪存交互,可以查看邻近示例,其中它使用SUOTA配置文件来初始化、启用内部闪存并与内部闪存交互。在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。智能代码片段显示错误消息,同时启动刻录和擦除操作。

我是否需要下载任何二进制文件(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