问题:调试时将在调试时“hardfault_handlerc”

28篇帖子/ 0新
最后发表
premkumar。
离线
最后一次露面:5年6个月前
加入:2015-12-16 05:45
问题:调试时将在调试时“hardfault_handlerc”

我在DA14583DEVKT-B板上使用SDK 5.0.3软件。
我拍摄了“BLE_APP_PERITELAL”(给出了BLE示例项目)。
在执行函数“app_dis_init()”时,控件将在“hardfault_handlerc()”中“。
在“app_dis_init()”中只有“返回”指令。
我无法确定它在执行“app_dis_init()”函数时它将进入异常处理程序的原因。
如果我评论“app_dis_init()”函数,它不会去异常处理程序,我能够看到移动设备上的设备名称。

请帮我解决这个问题。
请找到附加的屏幕镜头供您参考

设备:
mt_dialog.
离线
最后一次露面:6个月4周前
工作人员
加入:2015-06-08 11: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_PERITERALAL”,它显示在链接与内存相关的错误以及附加文档以供参考。
1.__exe / Dialog_DA14583。axf节”。constdata'将不适合区域' RAM_IROM4'
2.在[20000440,2000552F]中加载的部分ER_IROM5重叠部分.CONSTDATA,加载在[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):源= 0x20009020,长度= 0x01E0
RAM_RW_IRAM54(RW):源= 0x20009200,长度= 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):源= 0x20009020,长度= 0x01E0
RAM_RW_IRAM54(RW):源= 0x20009200,长度= 0x0600

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

ankitdaf.
离线
最后一次露面:3年1个月前
加入:2015-09-03 20:14
嗨premkumar.

嗨premkumar.

我想做同样的事情,面对类似的东西。我能够结束它,但现在面对其他问题。您对比较笔记有兴趣吗?它可能有助于我们俩都取得了成本,让所有东西都奔跑

说啥 ?

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

嗨premkumar,

对不起,但目前我们只支持Keil而不是DA14580上的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.
离线
最后一次露面:6个月4周前
工作人员
加入:2015-06-08 11:34
嗨premkumar,

嗨premkumar,

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 [](数组)。此阵列的使用是什么(即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.
离线
最后一次露面:6个月4周前
工作人员
加入:2015-06-08 11:34
嗨premkumar,

嗨premkumar,

关于跳跃表请看看这篇文章http://support.dialog-semicondiondiondum/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.
离线
最后一次露面:6个月4周前
工作人员
加入:2015-06-08 11:34
嗨premkumar,

嗨premkumar,

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

谢谢mt_dialog.

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

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

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

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

嗨premkumar,

程序非常简单,只需单击要访问的链接,如果授予您的访问权限,则可以看到文档,如果您的访问权限授予,则应出现术语和条件对话框。接受此后,您的请求通过管理员进行,以便宏伟访问门户(该程序需要几天)。请检查以下文件的链接。我们目前在我们的系统中没有请求。尝试访问我提供的链接,并检查您是否可以下载文档。

http://support.dialog-semicondiondiondum/resource/um-b-050-da1458x-softwa ...

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

谢谢mt_dialog.

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

你好,
在第二个链接中,我可以看到数据表.pdf链接,也能打开pdf。但单击第1号链路后,它将显示页面作为附件中的页面。它没有显示任何条款和条件。

请帮助我进入第一个链接。

JE_Dialog
离线
最后一次露面:3个月3周前
工作人员
加入:2013-12-05 14:02
嗨premkumar,你能去吗?

你好,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.
离线
最后一次露面:6个月4周前
工作人员
加入:2015-06-08 11: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(0x01aa);//将R / W位设置为1(读取访问)
或者
send_i2c_command(0xD0);
执行上述指令后,我看不到“I2C_DATA_CMD_REG”寄存器值的任何变化

请帮我解决这个问题。如果有关Dailog(用于读写操作),请分享任何通用I2C驱动程序。

请在对话框中了解I2C以了解FIFO的任何文档。

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

嗨premkumar,

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

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

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

谢谢mt_dialog.

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

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

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

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

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

嗨premkumar,

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

谢谢mt_dialog.

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

你好,
我已经完成了UM-B-011的文档,但没有关于如何在DA14583中使用的1 Mbit闪存和OTP的信息。
DA1458x的数据表中未提供引导序列。请分享文档以了解引导序列。

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

mt_dialog.
离线
最后一次露面:6个月4周前
工作人员
加入:2015-06-08 11: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]开始下载程序...
[动作@ 16-02-18 17:12:37]请按电路板上的硬件重置按钮开始下载过程。
[info @ 16-02-18 17:12:40]重置检测到
[信息@ 16-02-18 17:12:42]从COM12端口已成功断开连接。
[info @ 16-02-18 17:12:42]与COM12端口的连接已成功打开。
[信息@ 16-02-18 17:12:42]从COM12端口已成功断开连接。
[INFO @16-02-18 17:12:42]成功下载固件文件到单板。
[信息@ 16-02-18 17:12:42]成功配置了SPI闪存端口和引脚。

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

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

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

请找到附件供您参考。

mt_dialog.
离线
最后一次露面:6个月4周前
工作人员
加入:2015-06-08 11:34
嗨premukar,

嗨premukar,

确保连接正确的UART引脚以使智能片段将Flash程序员下载到您的设备。还要确保从电路板设置部分中选择正确的SPI引脚。打开智能片段后,您应该选择14583版本的芯片,这应选择相应的SPI引脚(尽管您应该明确检查电路板设置中的引脚)。选择SPI选项卡后,按Connect(为了在芯片中下载闪存程序员),然后擦除SPI闪存(最可能的原因无法擦除或燃烧闪光灯是引脚选择 - 2_0应在电路板设置中选择2_3,2_4,2_9)。没有必要下载任何用于刻录Flash智能片段的二进制文件下载它在连接过程中。

谢谢mt_dialog.

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

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

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

嗨premkumar,

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

谢谢mt_dialog.