我想通过platform接口写cfg到flash中保存下来:
platform_device_write(chip->nor_handle, CONFIG_START_BLOCK*CONFIG_BLOCK_SIZE, (unsigned char *)cfg, sizeof(struct global_config));
但是单步调试中发现在 Osal_platformMalloc()中Memory_alloc()崩溃了。
我想问一下这样操作是否不对,如果有问题的话,我应该怎样实现我想要的结果呢?
敬候答复
Houyi Yang:
另外,我发现在Main()调用写flash操作是成功的,可以在BIOS_start()后,通过Task去读出来,但是在Task中去写flash却会导致程序崩溃。
现在不知道应该怎么办了!!!
Allen35065:
回复 Houyi Yang:
似乎是代码跑飞了,可能有指针访问越界(比如stack越界等等)
Houyi Yang:
回复 Allen35065:
Andy,你好
可是相同的操作放在BIOS_start()前面执行是没有这个问题的,但是在BIOS_start()后,通过task调用就有问题;
而且Task中读取没有问题,并读取出我写入的value,因此我才判断,在BIOS_start()前面写入是成功的。
这个是sys/bios不兼容造成的吗?还有其他方式或接口可以读写nor flash吗?
Allen35065:
回复 Houyi Yang:
task的栈和system栈不一样,所以我觉得你可能是有栈越界。