单片机烧录

在设计芯片的时候,关于烧录的环节是一个不得不考虑的问题。
我们首先排除掉,由外部直接硬件操控FLASH
的方案,这个方案有很多缺点。
1、每个IC使用的FLASH型号是各不相同的,每种型号的FLASH的烧录命令和流程都有差别,这会导致烧录器需要把所有的FLASH控制方式都内置,但是万一下次换了一个最新型号的FLASH呢?因此这种方式通用性非常低。
2、有些IC未必使用FLASH,有可能会采用OTP
(一次性编程),OTP一般是由芯片自己的内部寄存器来控制,直接写FLASH的烧录器在这根本就没办法用了
那现在换一个思路,让芯片自己控制自己的内部存储器,我用通信的方式把固件发给芯片,由它自己来完成这个过程呢?
很好,现在我们面临的问题变成了如何将这段烧录程序导入到芯片中运行这个问题了。
假如,芯片设计
的时候就是一个空片。那如何将程序下载进芯片中运行呢?
别怕,你用过JTAG吗?JTAG在调试的时候,是不是可以随便修改RAM,随便设置PC指针?
而且几乎所有的芯片硬件都是支持JTAG功能的吧?那这个问题就有解了。
我可以用JTAG将一段程序写入到RAM中,设置PC指针到程序的起始地址。这个程序是专门用来烧录FLASH和OTP的程序,我可以这样做:
1、将这个程序导入到RAM中
2、将固件的一部分内容导入到RAM的某个固定地址
3、设置PC到这个程序的起始地址,同时在程序结束的位置设置一个断点。
4、启动这个烧录程序,等待断点触发,往复2、3、4即可。
这个就是Keil
中的烧录算法的实现原理。而算法文件就是这个IC对应的烧录程序。
那现在,完全搞定烧录的问题吗? 不、还只完成了一半。这种方式还有好几个缺点:
1、烧录器硬件成本比较高
2、JTAG烧录器的控制复杂度和开发难度很高
3、对于安全程度非常高的芯片,JTAG很不安全
因此,我们能不能默认就将这段程序在芯片出厂的时候烧录或者固化到芯片上呢?同时采用成本更低和通用性更高的串口通信

所以,这段程序怎么放,有很多方案:
1、直接芯片投片的时候,由数字设计人员将固件硬编码
到晶圆上,芯片生产出来的时候,都会携带这个程序。这个的缺点就是,这段固件不可更改,固化前会经过大量的测试。
2、对于有OTP的芯片的话,会在芯片出厂测试时将这个程序烧录到OTP中,烧录方式用的就是JTAG
芯片的烧录方案,基本上就是这些了,对于那些你接触到的各种千奇百怪的烧录工具,其实也就是厂商自己定的通信协议
的不同导致的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/871748.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JLMSR超分算法说明和效果

一、简介 JLMSR是基于加权概率模型构造的一种超分算法,属于传统超分,无需训练,适合硬件化。与传统超分的插值方案最大区别在于基于16*16的块进行上下文概率统计,结合权重进行插值。目前该插值方案已经线性化和整数化,…

加油卡APP系统,探索新的市场机遇

当下,汽车已经成为了不可缺少的出行工具,汽车加油也成为了必要的环节。加油卡作为一种高效、便捷的加油方式,具有非常的市场发展空间,也成为了新的创业方式! 在网络时代中,加油卡APP的开发大大减少了用户在…

NVF04M录音芯片在宠物喂食器的应用:录音播放功能,内置SPI闪存

在现代社会中,宠物已经成为人们生活中的一部分,而宠物喂食器作为宠物养护的重要工具,也越来越受到人们的关注。为了满足人们对宠物喂食器的多样化需求,九芯电子供应商研发了一款NVF04M录音芯片。它在宠物喂食器中的作用主要是提供…

[机器学习]--线性回归算法

线性回归算法原理 线性关系在生活中有很多案例: 摄氏度和华氏度的转化: F C ⋅ 9 5 32 F C \cdot\frac{9}{5}32 FC⋅59​32学科最终成绩的计算: 最终成绩 0.3 \times 平时成绩 0.7 \times 期末成绩 线性回归(Linear regression)就是利用回归函数对一个或多个自变量…

WEB渗透免杀篇-Golang免杀

往期文章 WEB渗透免杀篇-免杀工具全集-CSDN博客 WEB渗透免杀篇-加载器免杀-CSDN博客 WEB渗透免杀篇-分块免杀-CSDN博客 WEB渗透免杀篇-Powershell免杀-CSDN博客 WEB渗透免杀篇-Python源码免杀-CSDN博客 WEB渗透免杀篇-C#源码免杀-CSDN博客 WEB渗透免杀篇-MSFshellcode免杀…

土壤墒情固定监测站的工作原理

TH-GTS03土壤墒情固定监测站是一种专门用于监测土壤墒情信息的设备,它通过一系列精密的传感器和数据处理系统,实时、准确地获取土壤的水分含量、温度以及其他相关参数,为农业生产、生态保护和水资源管理等提供重要依据。 土壤墒情固定监测站通…

想做好专业儿童研学项目解决方案,建议先看看这篇

大家好,我是爱吐槽也爱分享的“教育&科技跨界老顽童”。今天想跟大家聊聊这几年越来越火的“沉浸式数字化研学”,因为前不久刚刚参与了一个不错的专业儿童研学项目解决方案,有一些心得想要及时分享,尤其是也想搞专业儿童研学项…

vue3 安装element-plus进行一些简单的测试

1、安装element-plus 官网地址:https://element-plus.org/zh-CN/guide/installation.html 2、安装方法: # 选择一个你喜欢的包管理器# NPM npm install element-plus --save# Yarn yarn add element-plus# pnpm pnpm install element-plus 这里我选择…

STM32G474的HRTIM用作时基定时器

STM32G474的HRTIM由7个定时器组成,分别是主定时器,定时器A,定时器B,定时器C,定时器D,定时器E和定时器F,每个定时器均可单独配置,独立工作。每个定时器都有1个独立的计数器和4个独立的…

[基础入门]正向shell和反弹shell

前言 在渗透过程能获取shell是很重要的一点,首先可以使用一些漏洞对ssh和ftp进行攻击获取shell,如果没有这些漏洞可以考虑一下使用正向shell或者是反弹shell。 一、什么是正向shell和反弹shell 其实这个过程是相对的,需要找到一个参考点&a…

使用 Python 绘制词云图的详细教程

如何使用python绘制词云图 词云图(Word Cloud)是数据可视化中常用的一种技术,通过将文字以不同的大小、颜色和方向排列,以展示文本数据中词汇的频次和重要性。对于文本分析、情感分析、关键词提取等应用,词云图都能够…

【FreeRTOS】队列实验-多设备玩游戏(旋转编码器)

目录 0 前言1 任务1.1 本节源码1.2实验目的1.3实现方案 2 code2.1 创建队列2.2 写队列2.3 创建任务 3 勘误 0 前言 学习视频: 【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS(FreeRTOS教程 基于STM32,以实际项目为导向)】…

CronTab及定时任务

目录 CronTab及定时任务 一、定时任务的基本原理 二、Cron定时任务 但是 三、其他补充命令 CronTab及定时任务 一、定时任务的基本原理 # 每5秒钟向文本中输出一次时间#for i in {1..10}; do while [ 1 < 2 ]; dodate "%Y-%m-%d %H:%M:%S" >> /opt/lea…

Prism-学习笔记1-安装Prism

安装Prism 在VS2022中安装如下图&#xff1a; 2. 搜索Prism&#xff0c;安装Prism&#xff1a;&#xff08;ps&#xff1a;如果安装很慢&#xff0c;直接往上搜关键字 Prism template Pack 下载&#xff0c;或者这里我下载好的Prism包&#xff0c;提取码&#xff1a;bi7c&…

普通高校普通教师如何应对智能时代的冲击

前篇 艰难求生的转型之路-CSDN博客 背景 增量发展阶段&#xff0c;大部分人生活随着个人努力都会出现改善&#xff1b; 存量博弈阶段&#xff0c;大部分人&#xff0c;不展开&#xff0c;求生欲。 增量→“蛋糕”越来越大&#xff1b; 存量→“蛋糕”(*^_^*)凸(艹皿艹 ) …

将 hugo 博客搬迁到服务器

1. 说明 在 Ubuntu 22.04 上使用 root 账号&#xff0c;创建普通账号&#xff0c;并赋予 root 权限。 演示站点&#xff1a;https://woniu336.github.io/ 魔改hugo主题: https://github.com/woniu336/hugo-magic 2. 服务器配置 建立 git 用户 adduser git安装 git sudo apt …

C/C++ 多线程[1]---线程创建+线程释放+实例

文章目录 前言1. 多线程创建2. 多线程释放3. 实例总结 前言 说来惭愧&#xff0c;写了很久的代码&#xff0c;一个单线程通全部。可能是接触的项目少吧&#xff0c;很多多线程的概念其实都知道&#xff0c;但是实战并没有用上。前段时间给公司软件做一个进度条&#xff0c;涉及…

亲测解决Verifying shim SBAT data failed: Security Policy Violation

在小虎用u盘安装ubuntu系统的时候&#xff0c;笔记本出现了这个问题&#xff0c;解决方法是管关闭security boot。 解决方法 利用F2\F10\F12进入Bios设置&#xff0c;关闭security boot即可。 Use F2 to enter the bios security settings, close it. 参考 Verifying shim…

揭秘Semantic Kernel:用AI自动规划和执行用户请求

在我们日益高效的开发世界中&#xff0c;将任务自动化并智能规划变得越来越必要。今天&#xff0c;我要给大家介绍一个强大的概念——Semantic Kernel中的planner功能。通过这篇文章&#xff0c;我们会学习到planner的工作原理以及如何实现智能任务规划。 什么是planner&#x…

Spring GateWay自定义断言工厂

文章目录 概要整体架构流程最终的处理效果小结 概要 我们在线上系统部署了&#xff0c;灰度环境和生产环境时&#xff0c;可以通过自定义断言工厂去将请求需要路由到灰度环境的用户调用灰度的的服务集群&#xff0c;将正常的用户调用正常集群。 这样&#xff0c;我们可以在上线…