亲爱的对话框的支持,
我们正与新Inventek ISM14585模块工作。我们希望端口MSK固件这个模块,采用BMI160(后来加BMM150)。在多传感器DK我已经成功替换BMI160的ACC /陀螺仪,得到它运行。
现在我有一些麻烦移植固件。
观察:
(1)我不得不undef use_spi_flash_config,否则我有一个硬故障(等待spi读取闪光灯)。我不知道问题可能是什么。ISM14585的内部闪存是Gigadevice GD25D系列。
(2)我已经停用ENV的大多数程序。传感器和在代码中磁力计。当我开始固件,并与物联网应用关联,UART显示以下内容:
======== IOT +开始========信息:传感器启动信息:传感器暂停信息:adv启动,值:160信息:IoT +连接信息:传感器启动信息:传感器暂停信息:dws cmd:21信息:DWS CMD:22信息:DWS CMD:11信息:DWS CMD:1信息:传感器启动信息:DWS CMD:17信息:17信息:DWS CMD:13信息:DWS CMD:20信息:DWS CMD:26
在此之后,没有任何反应。该应用程序没有显示任何传感器数据。
发现:
(A)我测量了BMI160中断持续的高,似乎中断不正常的DRDY。
除此之外,我看CS,CLK,MISO,MOSI没有任何异常。
(B)在UM-B-101,附录A,我发现,多元传感DK实际上使用的次级引导加载程序认为需要照顾某些配置步骤;但它并没有在我看来,它做任何事情至关重要的BMI160(而它的一些配置为原装ACC /陀螺仪)。
在ISM14585,OTP与仲引导程序,因为内部闪存CS被映射到P0_7代替P0_3烧掉(因此,这将在开发者模式没有这种不启动)。
我的问题:
(1)什么可能是我从BMI160的中断下降的原因是多少?
(2)特殊的二次引导程序有必要吗?我可以口固件仅通过闪烁产生的hex文件下载到闪存?
非常感激你的帮助。
BR约翰内斯
设备:
嗨Johannes,
请让我知道它的GPIO连接到BMI160,所以我可以在我的身边运行它。
我不使用传感器物联网标签固件为您的应用起点的忠实粉丝。你会留下大量的代码最终会咬你半路支撑片的。更好的方法是使用empty_peripheral_template项目和缓慢移动的代码段到该项目中。
/ mhv.
嗨mhv,
广告1 .:
GPIO映射是微不足道的,SPI总线与闪光灯对CLK / MOSI / MISO,CS(P1_3)和DRDY的标准端口共享/ INT(P0_1)我已正确配置。初始化应该工作OOB多传感器DK,因为DK能够与BMI160(我们验证)操作。
广告2 .:
制造商Inventek已被刻为OTP的二级引导加载程序。我会与他们讨论为什么他们没有按照你建议这样做。也许这是一种误解。
我知道如何配置SmartSnippet,毕竟我拥有固件运行和广告(从Flash启动)。
在UM-B-101中,表示MS DK次级引导加载程序[...]
这就是为什么我问这个特定的引导程序的必要性。从寻找到的代码,我的印象是引导程序做配置的东西ICM42605下,而不是为可选填充BMI160。
对于我们以前的原型,这是基于Murata Zy的原型,我们已经移植了“旧”物联网传感器SDK,这恰好好了。当然从划痕开始是一个更清洁的解决方案,但使用有限的人力,剥去现有的项目是更快的方法......
BR约翰内斯
嗨Johannes,
在二级引导程序的初始化IMU并不重要(我坦率地不知道为什么我们把它放在这里),我没有看到在代码中的BMI160任何引用。对不起,问明显的问题,但我相信你已经准确有线的BMI160因为它是在你的多传感器套件连接(使用相同的中断等)。我也假设你已经正确初始化总线(在此是为ICM IMU管理的二次引导程序 - 包括的GPIO selction)。
我今天晚些时候直接与您联系,以帮助排除故障。
/ mhv.
嗨mhv,
我有更多的发现。
(1)初始化似乎是正确的,无论引导加载程序都可能做,MS DK还正确配置GPIO。GPIOS和SPI参数配置在set_pad_functions和iot_dk_spi_init中:
(2)我观察MISO,MOSI,CLK,CS与示波器的emcted活动。SPI似乎很好。
(3)我观察到BMI160中断变高(再次显示BMI160似乎通过SPI正确编程),似乎是问题开始。固件对中断没有反应。
观察(3)我用臭氧检查行为(扰流板:我第一次使用它)。一个断点
在文件sensors_interface.c表明中断确实配置。一个断点
然后显示回调从未执行,尽管引脚变高。根据我们的原理图正确配置PIN:
[编辑;删除了,我现在想通一部分是正常的,不利于发现问题]
在您之前的回复中,您表示您希望与我联系,但我没有收到通知或电子邮件。您需要我的联系信息吗?
BR约翰内斯
编辑:
(a)相同是真的,我可以在运动功能上启用唤醒。我可以观察到设备睡眠,中断低。当我移动传感器时,引脚确实变高,但固件对其没有反应。
(b)我已经为这些测试禁用了睡眠模式。
亲爱的对话框的支持,
我仍然迫切等待回答。有什么能为中断不工作的原因吗?我怎样才能进一步调查与臭氧这个问题?
BR约翰内斯
嗨gme_johannes,
我为延迟道歉。我完全同意mhv_dialog,我认为最好的方法是使用empty_peripheral_template项目并慢慢将代码移动到该项目中。但是,我将在内部努力获得反馈。我会尽快回复你。
谢谢,PM_DIALOG.
嗨pm_dialog,
考虑到我们的项目与多人传感器DK有多少次(除了:缺少Env传感器,不同的磁力计,不同的引脚,不同的Flash / Pa),我希望您能理解我仍然有利于剥离/修改的方法多传感器DK。我希望你有一些想法如何调查为什么我没有看到中断。
也许我应该开始使用empty_peripheral_template测试中断功能本身。
BR约翰内斯
嗨pm_dialog,
[任何新闻?任何想法如何解决这个问题?臭氧验证说明将是很棒的。]
编辑:
在代码中的长期调查之后,我注意到了
只有寄存器P1和P2被检查。然后,我看到塔中UM-B-101第20页中指出:
你能告诉我 - 迫切会告诉我 - 如果港口0上的中断是不可能的吗?这里的限制是什么?SDK6?多传感器DK?da14585?
编辑2:
我已经修改了回调函数并刚刚根据端口0的条件添加,似乎没有缺陷的工作。
这是非常不幸的是我找到这一点需要多长时间。当然,它被记录在内......但我永远不会猜到实施是不完整的。我非常好奇地理解原因。
BR约翰内斯
嗨gme_johannes,
根据UM-B-101文件,585 MSK固件扩展,以唤醒中断处理的可能性。目前此模块支持在端口1和2的中断,因为端口0被保留用于其它范围。请记住,585 MSK旨在与MSK硬件一起工作。请看看表1UM-B-101:DA14585物联网多重感应器开发套件开发人员指南为了检查端口0转让文件。此外,如果选中wkup_ad_cb的源代码(),你会看到,其被配置用于端口1和2。
谢谢,PM_DIALOG.
嗨pm_dialog,
正如我在第二个编辑中写的那样,我已经解决了这个问题。毕竟在端口0上获取中断是毫无疑问的。
谢谢,
约翰内斯