当前位置: 首页 > news >正文

模版网站系统持啊传媒企业推广

模版网站系统,持啊传媒企业推广,做公司网站页面,重庆外贸网站建设公司排名说明: 很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。 实际上当前已经发布的TOOL版本,已经自制很多了。但是依然有些厂家还没自制,所以陆续开始…

说明:

很多IC厂家仅发布了内部Flash算法文件,并没有提供读写保护算法文件,也就是选项字节算法文件,需要我们制作。

实际上当前已经发布的TOOL版本,已经自制很多了。但是依然有些厂家还没自制,所以陆续开始为这些厂家提供读写保护支持。

近期已经自制了STM32H7全系列,N32G003,N32G031,  STM32U5全系列和凌欧LKS32MC03X。

之前我们已经为兆易创新自制了GD32E50x,GD32E10x,GD32F3x0,GD32F4xx,GD32F10x,GD32F20x,GD32F30x,GD32F1x0,GD32C10x等系列的选项字节编程算法功能,含读写保护。

这次为GD32E23x系列也提供支持。


实现效果:

从2.27版本开始将正式带此支持,支持解除和使能。


实现代码和原理

通过H7-TOOL的LUA小程序就可以方便的实现保护解除和使能,不需要自制算法文件。

对应的代码如下,这个不需要用户去管,已经封装到TOOL里面了,这里给大家分享是方便大家了解:

FLASH_KEYR                = 0x40022004
FLASH_OPTKEYR   = 0x40022008FLASH_KEY1      = 0x45670123
FLASH_KEY2      = 0xCDEF89ABFMC_STAT                = 0x4002200C
FMC_CTL         = 0x40022010
FMC_CTL_OBPG    = 0x00000010
FMC_CTL_OBER    = 0x00000020
FMC_CTL_START   = 0x00000040FMC_STAT_BUSY   = 0x00000001
FMC_STAT_PGERR  = 0x00000004
FMC_STAT_PGAERR = 0x00000008
FMC_STAT_WPERR  = 0x00000010
FMC_STAT_ENDF   = 0x00000020--判断data数组标志,全部为0则退出
function CheckFlagQuit0(data, mask)local ilocal retif (MULTI_MODE > 0) thenret = 0for i = 1, MULTI_MODE, 1 doret = ret | (data[i] & mask)endelseret = data[1] & maskendreturn ret
end--芯片专有的解除保护函数
function MCU_RemoveProtect(void)MCU_ProgOptionBytes(OB_SECURE_OFF)
endfunction FMC_WaitBusy(ob)local ilocal regfor i = 1, 50, 1 doreg = {pg_read32(FMC_STAT)}if (CheckFlagQuit0(reg, FMC_STAT_BUSY) == 0) thenbreakenddelayms(10)end
end--没有FLM的MCU,用脚本实现编程OB。 返回 "OK" or "error"
function MCU_ProgOptionBytes(ob)local ilocal reglocal ob_8local ob_32local ob_read = {}        local err = "OK"local ch_numif (MULTI_MODE > 0) thench_num = MULTI_MODEelsech_num = 1end       pg_write32(FLASH_KEYR, FLASH_KEY1)pg_write32(FLASH_KEYR, FLASH_KEY2)pg_write32(FLASH_OPTKEYR, FLASH_KEY1)pg_write32(FLASH_OPTKEYR, FLASH_KEY2)--start erase the option bytespg_write32(FMC_CTL, pg_read32(FMC_CTL) | FMC_CTL_OBER)pg_write32(FMC_CTL, pg_read32(FMC_CTL) | FMC_CTL_START)FMC_WaitBusy()reg = pg_read32(FMC_CTL)reg = reg & ~FMC_CTL_OBERpg_write32(FMC_CTL, reg)        --reset the OBER bitpg_write32(FMC_CTL, pg_read32(FMC_CTL) | FMC_CTL_OBPG)        --set the OBPG biob_8 = hex_to_bin(ob)        --hex字符串转为二进制数组for i = 0, 3, 1 doob_32 = string.byte(ob_8, 2 * i + 1) + (((~string.byte(ob_8, 2 * i + 1)) << 8) & 0xFF00) +(((string.byte(ob_8, 2 * i + 2)) << 16) & 0xFF0000) + (((~string.byte(ob_8, 2 * i + 2)) << 24) & 0xFF000000)pg_write32(0x1FFFF800 + 4 * i, ob_32)FMC_WaitBusy()endpg_write32(FMC_CTL, pg_read32(FMC_CTL) & ~FMC_CTL_OBPG)        --reset the OBPG bit--校验for i = 0, 3, 1 doob_32 = string.byte(ob_8, 2 * i + 1) + (((~string.byte(ob_8, 2 * i + 1)) << 8) & 0xFF00) +(((string.byte(ob_8, 2 * i + 2)) << 16) & 0xFF0000) + (((~string.byte(ob_8, 2 * i + 2)) << 24) & 0xFF000000)ob_read = {pg_read32(0x1FFFF800 + 4 * i)}                for j = 1,ch_num,1 do                       if (ob_32 ~= ob_read[j]) thenerr = "error"end                       endendreturn err
end

通过TOOL的寄存器检测功能可以了解各种寄存器地址和状态信息,大大方便算法文件自制:

http://www.fp688.cn/news/154055.html

相关文章:

  • 网站提升排名网络营销推广平台
  • 北京网站制作飞沐免费创建网站平台
  • 美业网站建设电商网页
  • 最专业的房地产网站建设制作网站的工具
  • 马洪旭 做的网站大学搜索引擎平台有哪些
  • 触屏版网站制作营销手机都有什么功能啊
  • 计算机学了出来干嘛系统优化工具
  • html5做动态网站建设seo一般包括哪些内容
  • 4c网络营销策略飞猪关键词排名优化
  • 这个网站中有网名做会计的吗 了解一下长沙seo网站优化
  • 做网站百度一下个人接外包项目平台
  • 网站建设用哪种语言最好百度账号24小时人工电话
  • 网站错误代码301营销型网站是什么意思
  • 淄博网站制作首选专家今日新闻头条新闻摘抄
  • 企业网站策划案例近期国内新闻
  • 襄阳抖音seo找哪家杭州百度优化
  • 自架服务器建设网站优化疫情二十条措施
  • 一级a做愛网站伦理片百度推广个人怎么开户
  • 做网站好的网站建设公司seo产品优化推广
  • 辽宁省建设工程信息网官网查询处理事件seo软件
  • 怎么做日本网站的推广广州头条今日头条新闻
  • 想做一个个人网站怎么做2022年seo还值得做吗
  • 网站改版提交给百度360网站推广
  • 怎样做网站卖自己的产品教程谷歌推广效果怎么样
  • 网站链接到邮箱怎么做搜索引擎免费下载
  • seo网站关键词排名软件临沂今日头条新闻最新
  • 微网站与微信的关系软文范例100字以内
  • 网站制作设计发展前景新手怎样做网络推广
  • 如何注册公司网站免费注册seo优化方式包括
  • 泉州专业制作网站开发智慧软文网