bbandpp 发表于 2021-10-7 19:26:56

有用HK32出现ram数据随机的吗?

STM32价格涨上天,GD紧随其后,后来采购了一批HK32.小批量用了,出现问题了。发现RAM数据,不知道会在什么条件下,自己变,导致程序异常。不知道有没谁遇到过?有时候一上午都不出现,有时候,出现的很频繁。

LM5017 发表于 2021-10-7 20:46:30

国产果然还是不可靠,幸好没入坑。

redworlf007 发表于 2021-10-7 20:50:46

国产果然还是不可靠,幸好没入坑。

why800 发表于 2021-10-7 20:53:39

用过hk的,没这种问题。

三世执戟 发表于 2021-10-7 21:02:06

变化的位置是固定的还是随机的?出错后的数据是固定的还是随机的?

如果地址是固定的,建议带着仿真器跑一下,对这个地址下个写断点,看是否会触发,如果会说明是软件BUG。

怀疑芯片硬件的话,建议提高或降低温度,提高或降低电压,这样memory bist可以更容易发现问题。

bbandpp 发表于 2021-10-7 21:04:15

三世执戟 发表于 2021-10-7 21:02
变化的位置是固定的还是随机的?出错后的数据是固定的还是随机的?

如果地址是固定的,建议带着仿真器跑一 ...

直接替换stm32的。就带仿真器模拟,就是下午的时候出现过几次。后来就一直触发不出来。这种问题最烦

bbandpp 发表于 2021-10-7 21:08:36

冰箱。烙铁加热都伺候过,就是不复原{:huffy:}

dog 发表于 2021-10-7 22:18:22

RAM设置里,有没有把0初始化的勾勾去掉?
提醒先排除一下低级错误

mypear 发表于 2021-10-8 09:00:49

有没有越界,内核都是买的吧,自己没能力设计。

bbandpp 发表于 2021-10-8 10:00:38

mypear 发表于 2021-10-8 09:00
有没有越界,内核都是买的吧,自己没能力设计。

现在就怕抄的漏洞太多了。正好赶上了

wshtyr 发表于 2021-10-8 11:18:56

0、相同程序放在STM32上是否完全正常?
1、打开map文件,看那个会自己变的变量前后是什么变量,有没有可能越界了
2、有没有使用DMA?

一般现象越奇怪,错误越低级,有时候熬夜写的代码,要花一个白天来抓虫{:cry:}

yunqing_abc 发表于 2021-10-8 13:52:17

wshtyr 发表于 2021-10-8 11:18
0、相同程序放在STM32上是否完全正常?
1、打开map文件,看那个会自己变的变量前后是什么变量,有没有可能 ...

这是正解。逐步排除问题

bbandpp 发表于 2021-10-9 15:31:50

结贴。
各种乱七八糟的巧合凑在一起了。
有个备用串口引脚没有焊接芯片,悬空在那里。然后在莫名其妙的条件会不停触发进入中断,不停往数组里写数据,导致溢出。
不像STM32溢出就会进入硬件错误中断。导致内存混乱。
总结下来,跟STM32比还是有漫长的路要走

ackyee 发表于 2021-10-9 16:22:51

bbandpp 发表于 2021-10-9 15:31
结贴。
各种乱七八糟的巧合凑在一起了。
有个备用串口引脚没有焊接芯片,悬空在那里。然后在莫名其妙的条件 ...

不适用的串口硬件上不该使能初始化,
程序上 好好查查吧   还有数组越界也会有这个问题

denike 发表于 2021-10-9 17:05:51

国产果然还是不可靠,幸好没入坑。

dukelec 发表于 2021-10-9 17:35:24

bbandpp 发表于 2021-10-9 15:31
结贴。
各种乱七八糟的巧合凑在一起了。
有个备用串口引脚没有焊接芯片,悬空在那里。然后在莫名其妙的条件 ...

串口沒開內部上拉 已經可以評為最容易被老手忽視的問題的榜首了

xinyou 发表于 2021-10-9 18:07:21

bbandpp 发表于 2021-10-9 15:31
结贴。
各种乱七八糟的巧合凑在一起了。
有个备用串口引脚没有焊接芯片,悬空在那里。然后在莫名其妙的条件 ...

如果是STM32的话,出错的数据没有被用到或执行到,也不会进入硬件错误中断。

PPS 发表于 2021-10-9 18:38:54

bbandpp 发表于 2021-10-9 15:31
结贴。
各种乱七八糟的巧合凑在一起了。
有个备用串口引脚没有焊接芯片,悬空在那里。然后在莫名其妙的条件 ...

你确定STM32溢出了就会进入硬件错误中断?你太高看STM32了,溢出并不必然产生硬件错误中断。

举例说明,你有8个指示灯,4个灯一组,交替闪烁,你这样实现:

u8        i = 0xAA;

void Thread( void* p )
{
    while( 1 )
    {
      i = ~i;
      LedSet( i );
      Delay( 500 );
    }
}

然后因为某些原因溢出,造成 i 被覆盖成了 0x01。这时并不会产生硬件中断错误,只会执行达不到预期。

PPS 发表于 2021-10-9 18:46:14

xinyou 发表于 2021-10-9 18:07
如果是STM32的话,出错的数据没有被用到或执行到,也不会进入硬件错误中断。 ...

正解,跟STM32是有差距,但不能把STM32吹成神。测试条件、出现的状态都不一样,最后产生的现象也不一样,比较就不公平。要是原来STM32不会HardFault、只是程序执行结果不对,然后现在国产却出现HardFault,估计他会说:STM32真牛,同样的程序国产就直接HardFault了,STM32却能执行。{:lol:} {:lol:} {:lol:}

zchong 发表于 2021-10-10 08:47:08

就事论事,别夹杂其它东西,就像在公司经常有人问我,硬件坏了会怎么样,我说我只能告诉你正确的情况应该是什么样,你如果使用上超过边界条件,谁也不知道出问题的表现形式。倒着来还好一点,就是从问题的现象推测哪里可能出了问题。

carefree1986 发表于 2021-10-10 12:04:36

据说行顺的温度高一点就会有问题,有几个同行已经被坑惨了
页: [1]
查看完整版本: 有用HK32出现ram数据随机的吗?