您尚未登录。

楼主 # 2022-04-07 18:47:57

三哥
会员
注册时间: 2018-08-03
已发帖子: 67
积分: 64.5

为了方便玩f1c100s/f1c200s的小伙伴能实现串口下载程序,我自己实现了write—spiflash功能

为了方便玩f1c100s/f1c200s的小伙伴能实现串口下载程序,我自己实现了write—spiflash功能

代码使用如下:


	p = (kernel_header_t *)0xc0000000;//起始位置放的是程序头

	if(p->rsv1 & 0x1)//判断是否需要将程序存入spiflash
	{
		//从0xc0000000搬到spiflash的0x8000处,然后重新上电运行(方案1)
		sys_spi_flash_init();

		n = size / 4096;//1扇区4k(4096)
		if(size % 4096) n ++;
		cnt = 0;
		while(n --)
		{
			sys_spi_EraseSector(0x8000 + cnt*4096);//根据size计算擦除扇区数
			cnt ++;
		}
		n = size / 256;//1页256字节
		if(size % 256) n ++;
		cnt = 0;
		while(n --)
		{
			sys_spi_WritePage(0x8000 + cnt*256, (void*)0xc0000000 + cnt*256);//根据size计算写入页数
			cnt ++;
		}


		sys_spi_flash_exit();
	}

相关底层代码主要是擦除和写flash,可点击下面链接下载:

spiflash.rar

IAP很方便,不需要每次使用工具从usb口烧写。

祝你使用我的代码很愉快!

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn