Loading...
首页问答  

flash写保护解除方案及工具

nkeverstar
nkeverstar  发布于 2019-10-14 10:15:37 1000
工作中发现,IPC在使用过程中,较大概率出现flash写保护的问题。由于写保护后无法在线升级,只能拆机通过串口解除,操作繁杂,效率不高。

这两天刚好有批大货客户报了这个问题,问题样机还在国外,需要紧急挽救,所以利用加周末在内的2天时间里,参照海思文档《Hi3518EV20X/Hi3516CV200经济型HD IP Camera Soc用户指南.pdf》,对海思uboot和kernel(linux-3.4.y)学习了下,终于解决了这个问题,通过编写ko,在应用层insmod,将写保护flash成功解锁。

一直以内在论坛收益良多,算是小小的反馈,虽然轻微,请有需要的朋友尽管取用。
nkeverstar  发布于 2019-10-14 10:18:23
这是驱动源码、编译的ko和操作说明。
0
nkeverstar  发布于 2019-10-14 14:52:37
改进。
1. 驱动提供ioctl接口,供应用层程序使用;
2. 增加sample。
0
qn1522072174  发布于 2019-10-15 11:16:14
点赞,感谢楼主的分享精神
0
whw10086  发布于 2019-12-18 15:10:15
谢谢楼主分享,拿过来学习学习
0
qn1510903276  发布于 2019-12-18 15:17:28
赞。。感谢楼主分享。
0
weltion  发布于 2019-12-18 18:46:56
奉献精神,楼主好人啊
0
philos  发布于 2020-04-28 11:05:31
感谢楼主分享:victory:
0
lianiq  发布于 2020-05-06 15:32:30
谢谢楼主分享!
0
RunAway  发布于 2020-05-23 18:15:09
楼主,我试了下。没有正常打印 2, 只是打印了好多的信息然后就卡住了,重启之后flash还是原来的样子:'(
0
RunAway  发布于 2020-05-26 18:09:52
感谢楼主:victory: ,代码可用,但是要改两个地方
[code]static void spi_ops_init(void)
{
        printk(KERN_ERR "debug spi_ops_init........\n");

    struct yzk_spi host;
    unsigned char status, op;
    unsigned int regval;
    const char *str[] = {"Disable", "Enable"};

    ops_result = 0;

    unsigned long flags = 0;
   
    host.chipselect = 0;
    host.regbase    =  ioremap_nocache(0x10000000, 0x1000);//0x10000000;//0xfe010000;
    host.iobase     = ioremap_nocache(0x14000000, 0x1000);//0x14000000;//0xc3000000;

    op = SPI_SUPPORT_QUAD;[/code]


地址不能直接用物理地址,需要转换成内核可用的虚拟地址。
0
y2006142108  发布于 2020-05-28 16:13:49
[quote][url=forum.php?mod=redirect&goto=findpost&pid=159030&ptid=76094]RunAway 发表于 2020-5-26 18:09[/url]
感谢楼主 ,代码可用,但是要改两个地方


[/quote]

学以致用,感谢分享!
0
laoyouji  发布于 2021-05-12 11:50:45
[quote][url=forum.php?mod=redirect&goto=findpost&pid=159030&ptid=76094]RunAway 发表于 2020-5-26 18:09[/url]
感谢楼主 ,代码可用,但是要改两个地方


[/quote]

:)感谢兄弟分享
0
添加附件:文件小于20M
上传
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区