C2000入门基础(三)—C2000的复位系统
Loading the player...
将在30s后自动为您播放下一课程
上面对 C2000 的一些历史特性的一个回顾了 包括我们主推的一个系列 那接下来我们来认识一下这个芯片 它到底是怎么工作的 我觉得这个是 对我们认识一颗芯片是非常必要的 你必须知道他醒来之后 他到底是怎么去干活的 他到底是从哪里走到哪里 那最终去跑到你要的一个地方 那这个我要给大家介绍的 这里面会谈到一个是复位 就醒来之后怎么办 那还有一个是中断 有事情来打断他了之后怎么办 那还有的话就系统的一个初始化过程 那我们首先来看一下复位 那芯片的话 有很多这种复位源 来让这个芯片重新恢复运运行 那我们来看一下有什么 一个是上电复位 掉电复位 芯片你给他上电掉电 它都会产生一个复位 还有的话看门狗复位 还有一个在复位引脚给它一个低电平信号 这他的一个复位源 这些是外面的那除了外面的这种复位源的话 我们还有一个时钟丢失的一个复位 就当我的时钟晶振出现问题 我的晶振出现故障的时候 那我的芯片内部会有一个时钟丢失检测模块 它会自动的去检测这个时钟 所以这些都会形成一个 对这个内核的一个复位的一个功能 那左边的这四个模块 它的产生的复位的话 它会在复位引脚去查看到他有一个低电平信号 那这个时钟丢失的话 它是没有输出来的 它直接输出到芯片引脚 那这它的一个复位源 那复位之后它是怎么去做的 它并不是说你芯片复位之后 他就马上跑到你的一个 你们自己写的一个程序里面去了 它是有一个过程的 那有些时候我们没有认识这样的一个过程 有出现问题的时候 或者芯片没有跑到你的程序的时候 你们就会困惑为什么没有跑到你的程序 那么我们来看一下它是到底是怎么跑的 首先复位 复位之后它会有一个 Bootloader 就芯片会有它复位之后 它会自动的去这个地址 去取一个复位向量 其实说去这里取一个那个函数入口 那他会跑到这个 alone 里面去 跑到 alone 就我们出厂固化的 一小段代码里面去去执行 我们叫做 Bootloader 那他执行什么功能呢 它会判断一下说我芯片该从哪里去执行 或者说去取我用户的代码 那首先它的判断一个逻辑是这样子的 它会判断一下我的这个仿真器有没有连接 那如果仿真器有连接它又是一个逻辑 我的仿真器要是没有连接 也就是单机跑的情况下 我又是另外一个逻辑 那我们首先来看一下它 如果你的这种 C2000 芯片在调试的状态下的话 那它是怎么去判断的 那从我们可以看到 它是通过两个RAM 的一个空间 叫 EMU_KEY EMU_BMODE 两个 RAM 单元来判断它启动的 首先他会去看一下你的 EMU_KEY 是否是 0x55AA 如果是 它会再看另外一个存储空间去检查一下 它是不是这下面的一些 比如我往里面写一个 0x000A 那它就自动的去跑到这个 RAM 空间 去取我的用户的地址 所以你在这种情况下 你应该你的代码应该是在M0里面 否则程序就会跑飞 那如果我的程序是我往这个单元里面 敲的一个东西是 B 那他就会跑到 Flash 去执行我的代码 这其中的一种举例 所以你们可以看到你们在仿真的时候 你们去可以去查看这两个存储单元的内容 它往往会有这些默认的一些值在这里 可以保证你在仿真的时候 可以去运行到 main 里面去 那如果是单机跑的 单机跑没有带仿真器的情况 他是要根据两个 GPIO 口的一个状态 然后两个 OTP 存储的一个单元 那往往这两个的话是比较少用的 所以一般来讲 我们是看着两个 GPIO 引脚的一个状态 那通常来讲我们最多的一个配置 就是把这两个单元把他上拉 上拉之后 那他就会跑到这种状态 no 然后Flash 这个时候我的的代码是写在 Flash 的 所以我的芯片就能够正常运行了 这个过程 那么我们来看看它一个比较完整的一个流程图 复位之后在这里去取我的一个变量 去取我的一个 Bootloader 一个入口地址 然后 alone 里面去开始执行 然后去判断 那如果我是单机跑 那他就到这个 Flash 的入口地址 去执行我的代码 或者是说到这个M0去执行我的代码 这是它的一个流程
上面对 C2000 的一些历史特性的一个回顾了 包括我们主推的一个系列 那接下来我们来认识一下这个芯片 它到底是怎么工作的 我觉得这个是 对我们认识一颗芯片是非常必要的 你必须知道他醒来之后 他到底是怎么去干活的 他到底是从哪里走到哪里 那最终去跑到你要的一个地方 那这个我要给大家介绍的 这里面会谈到一个是复位 就醒来之后怎么办 那还有一个是中断 有事情来打断他了之后怎么办 那还有的话就系统的一个初始化过程 那我们首先来看一下复位 那芯片的话 有很多这种复位源 来让这个芯片重新恢复运运行 那我们来看一下有什么 一个是上电复位 掉电复位 芯片你给他上电掉电 它都会产生一个复位 还有的话看门狗复位 还有一个在复位引脚给它一个低电平信号 这他的一个复位源 这些是外面的那除了外面的这种复位源的话 我们还有一个时钟丢失的一个复位 就当我的时钟晶振出现问题 我的晶振出现故障的时候 那我的芯片内部会有一个时钟丢失检测模块 它会自动的去检测这个时钟 所以这些都会形成一个 对这个内核的一个复位的一个功能 那左边的这四个模块 它的产生的复位的话 它会在复位引脚去查看到他有一个低电平信号 那这个时钟丢失的话 它是没有输出来的 它直接输出到芯片引脚 那这它的一个复位源 那复位之后它是怎么去做的 它并不是说你芯片复位之后 他就马上跑到你的一个 你们自己写的一个程序里面去了 它是有一个过程的 那有些时候我们没有认识这样的一个过程 有出现问题的时候 或者芯片没有跑到你的程序的时候 你们就会困惑为什么没有跑到你的程序 那么我们来看一下它是到底是怎么跑的 首先复位 复位之后它会有一个 Bootloader 就芯片会有它复位之后 它会自动的去这个地址 去取一个复位向量 其实说去这里取一个那个函数入口 那他会跑到这个 alone 里面去 跑到 alone 就我们出厂固化的 一小段代码里面去去执行 我们叫做 Bootloader 那他执行什么功能呢 它会判断一下说我芯片该从哪里去执行 或者说去取我用户的代码 那首先它的判断一个逻辑是这样子的 它会判断一下我的这个仿真器有没有连接 那如果仿真器有连接它又是一个逻辑 我的仿真器要是没有连接 也就是单机跑的情况下 我又是另外一个逻辑 那我们首先来看一下它 如果你的这种 C2000 芯片在调试的状态下的话 那它是怎么去判断的 那从我们可以看到 它是通过两个RAM 的一个空间 叫 EMU_KEY EMU_BMODE 两个 RAM 单元来判断它启动的 首先他会去看一下你的 EMU_KEY 是否是 0x55AA 如果是 它会再看另外一个存储空间去检查一下 它是不是这下面的一些 比如我往里面写一个 0x000A 那它就自动的去跑到这个 RAM 空间 去取我的用户的地址 所以你在这种情况下 你应该你的代码应该是在M0里面 否则程序就会跑飞 那如果我的程序是我往这个单元里面 敲的一个东西是 B 那他就会跑到 Flash 去执行我的代码 这其中的一种举例 所以你们可以看到你们在仿真的时候 你们去可以去查看这两个存储单元的内容 它往往会有这些默认的一些值在这里 可以保证你在仿真的时候 可以去运行到 main 里面去 那如果是单机跑的 单机跑没有带仿真器的情况 他是要根据两个 GPIO 口的一个状态 然后两个 OTP 存储的一个单元 那往往这两个的话是比较少用的 所以一般来讲 我们是看着两个 GPIO 引脚的一个状态 那通常来讲我们最多的一个配置 就是把这两个单元把他上拉 上拉之后 那他就会跑到这种状态 no 然后Flash 这个时候我的的代码是写在 Flash 的 所以我的芯片就能够正常运行了 这个过程 那么我们来看看它一个比较完整的一个流程图 复位之后在这里去取我的一个变量 去取我的一个 Bootloader 一个入口地址 然后 alone 里面去开始执行 然后去判断 那如果我是单机跑 那他就到这个 Flash 的入口地址 去执行我的代码 或者是说到这个M0去执行我的代码 这是它的一个流程
上面对 C2000 的一些历史特性的一个回顾了
包括我们主推的一个系列
那接下来我们来认识一下这个芯片
它到底是怎么工作的
我觉得这个是
对我们认识一颗芯片是非常必要的
你必须知道他醒来之后
他到底是怎么去干活的
他到底是从哪里走到哪里
那最终去跑到你要的一个地方
那这个我要给大家介绍的
这里面会谈到一个是复位
就醒来之后怎么办
那还有一个是中断
有事情来打断他了之后怎么办
那还有的话就系统的一个初始化过程
那我们首先来看一下复位
那芯片的话
有很多这种复位源
来让这个芯片重新恢复运运行
那我们来看一下有什么
一个是上电复位 掉电复位
芯片你给他上电掉电
它都会产生一个复位
还有的话看门狗复位
还有一个在复位引脚给它一个低电平信号
这他的一个复位源
这些是外面的那除了外面的这种复位源的话
我们还有一个时钟丢失的一个复位
就当我的时钟晶振出现问题
我的晶振出现故障的时候
那我的芯片内部会有一个时钟丢失检测模块
它会自动的去检测这个时钟
所以这些都会形成一个
对这个内核的一个复位的一个功能
那左边的这四个模块
它的产生的复位的话
它会在复位引脚去查看到他有一个低电平信号
那这个时钟丢失的话
它是没有输出来的
它直接输出到芯片引脚
那这它的一个复位源
那复位之后它是怎么去做的
它并不是说你芯片复位之后
他就马上跑到你的一个
你们自己写的一个程序里面去了
它是有一个过程的
那有些时候我们没有认识这样的一个过程
有出现问题的时候
或者芯片没有跑到你的程序的时候
你们就会困惑为什么没有跑到你的程序
那么我们来看一下它是到底是怎么跑的
首先复位
复位之后它会有一个 Bootloader
就芯片会有它复位之后
它会自动的去这个地址
去取一个复位向量
其实说去这里取一个那个函数入口
那他会跑到这个 alone 里面去
跑到 alone 就我们出厂固化的
一小段代码里面去去执行
我们叫做 Bootloader
那他执行什么功能呢
它会判断一下说我芯片该从哪里去执行
或者说去取我用户的代码
那首先它的判断一个逻辑是这样子的
它会判断一下我的这个仿真器有没有连接
那如果仿真器有连接它又是一个逻辑
我的仿真器要是没有连接
也就是单机跑的情况下
我又是另外一个逻辑
那我们首先来看一下它
如果你的这种 C2000 芯片在调试的状态下的话
那它是怎么去判断的
那从我们可以看到
它是通过两个RAM 的一个空间
叫 EMU_KEY EMU_BMODE
两个 RAM 单元来判断它启动的
首先他会去看一下你的 EMU_KEY
是否是 0x55AA 如果是
它会再看另外一个存储空间去检查一下
它是不是这下面的一些
比如我往里面写一个 0x000A
那它就自动的去跑到这个 RAM 空间
去取我的用户的地址
所以你在这种情况下
你应该你的代码应该是在M0里面
否则程序就会跑飞
那如果我的程序是我往这个单元里面
敲的一个东西是 B
那他就会跑到 Flash 去执行我的代码
这其中的一种举例
所以你们可以看到你们在仿真的时候
你们去可以去查看这两个存储单元的内容
它往往会有这些默认的一些值在这里
可以保证你在仿真的时候
可以去运行到 main 里面去
那如果是单机跑的
单机跑没有带仿真器的情况
他是要根据两个 GPIO 口的一个状态
然后两个 OTP 存储的一个单元
那往往这两个的话是比较少用的
所以一般来讲
我们是看着两个 GPIO 引脚的一个状态
那通常来讲我们最多的一个配置
就是把这两个单元把他上拉
上拉之后
那他就会跑到这种状态 no
然后Flash
这个时候我的的代码是写在 Flash 的
所以我的芯片就能够正常运行了
这个过程
那么我们来看看它一个比较完整的一个流程图
复位之后在这里去取我的一个变量
去取我的一个 Bootloader 一个入口地址
然后 alone 里面去开始执行
然后去判断
那如果我是单机跑
那他就到这个 Flash 的入口地址
去执行我的代码
或者是说到这个M0去执行我的代码
这是它的一个流程
上面对 C2000 的一些历史特性的一个回顾了 包括我们主推的一个系列 那接下来我们来认识一下这个芯片 它到底是怎么工作的 我觉得这个是 对我们认识一颗芯片是非常必要的 你必须知道他醒来之后 他到底是怎么去干活的 他到底是从哪里走到哪里 那最终去跑到你要的一个地方 那这个我要给大家介绍的 这里面会谈到一个是复位 就醒来之后怎么办 那还有一个是中断 有事情来打断他了之后怎么办 那还有的话就系统的一个初始化过程 那我们首先来看一下复位 那芯片的话 有很多这种复位源 来让这个芯片重新恢复运运行 那我们来看一下有什么 一个是上电复位 掉电复位 芯片你给他上电掉电 它都会产生一个复位 还有的话看门狗复位 还有一个在复位引脚给它一个低电平信号 这他的一个复位源 这些是外面的那除了外面的这种复位源的话 我们还有一个时钟丢失的一个复位 就当我的时钟晶振出现问题 我的晶振出现故障的时候 那我的芯片内部会有一个时钟丢失检测模块 它会自动的去检测这个时钟 所以这些都会形成一个 对这个内核的一个复位的一个功能 那左边的这四个模块 它的产生的复位的话 它会在复位引脚去查看到他有一个低电平信号 那这个时钟丢失的话 它是没有输出来的 它直接输出到芯片引脚 那这它的一个复位源 那复位之后它是怎么去做的 它并不是说你芯片复位之后 他就马上跑到你的一个 你们自己写的一个程序里面去了 它是有一个过程的 那有些时候我们没有认识这样的一个过程 有出现问题的时候 或者芯片没有跑到你的程序的时候 你们就会困惑为什么没有跑到你的程序 那么我们来看一下它是到底是怎么跑的 首先复位 复位之后它会有一个 Bootloader 就芯片会有它复位之后 它会自动的去这个地址 去取一个复位向量 其实说去这里取一个那个函数入口 那他会跑到这个 alone 里面去 跑到 alone 就我们出厂固化的 一小段代码里面去去执行 我们叫做 Bootloader 那他执行什么功能呢 它会判断一下说我芯片该从哪里去执行 或者说去取我用户的代码 那首先它的判断一个逻辑是这样子的 它会判断一下我的这个仿真器有没有连接 那如果仿真器有连接它又是一个逻辑 我的仿真器要是没有连接 也就是单机跑的情况下 我又是另外一个逻辑 那我们首先来看一下它 如果你的这种 C2000 芯片在调试的状态下的话 那它是怎么去判断的 那从我们可以看到 它是通过两个RAM 的一个空间 叫 EMU_KEY EMU_BMODE 两个 RAM 单元来判断它启动的 首先他会去看一下你的 EMU_KEY 是否是 0x55AA 如果是 它会再看另外一个存储空间去检查一下 它是不是这下面的一些 比如我往里面写一个 0x000A 那它就自动的去跑到这个 RAM 空间 去取我的用户的地址 所以你在这种情况下 你应该你的代码应该是在M0里面 否则程序就会跑飞 那如果我的程序是我往这个单元里面 敲的一个东西是 B 那他就会跑到 Flash 去执行我的代码 这其中的一种举例 所以你们可以看到你们在仿真的时候 你们去可以去查看这两个存储单元的内容 它往往会有这些默认的一些值在这里 可以保证你在仿真的时候 可以去运行到 main 里面去 那如果是单机跑的 单机跑没有带仿真器的情况 他是要根据两个 GPIO 口的一个状态 然后两个 OTP 存储的一个单元 那往往这两个的话是比较少用的 所以一般来讲 我们是看着两个 GPIO 引脚的一个状态 那通常来讲我们最多的一个配置 就是把这两个单元把他上拉 上拉之后 那他就会跑到这种状态 no 然后Flash 这个时候我的的代码是写在 Flash 的 所以我的芯片就能够正常运行了 这个过程 那么我们来看看它一个比较完整的一个流程图 复位之后在这里去取我的一个变量 去取我的一个 Bootloader 一个入口地址 然后 alone 里面去开始执行 然后去判断 那如果我是单机跑 那他就到这个 Flash 的入口地址 去执行我的代码 或者是说到这个M0去执行我的代码 这是它的一个流程
上面对 C2000 的一些历史特性的一个回顾了
包括我们主推的一个系列
那接下来我们来认识一下这个芯片
它到底是怎么工作的
我觉得这个是
对我们认识一颗芯片是非常必要的
你必须知道他醒来之后
他到底是怎么去干活的
他到底是从哪里走到哪里
那最终去跑到你要的一个地方
那这个我要给大家介绍的
这里面会谈到一个是复位
就醒来之后怎么办
那还有一个是中断
有事情来打断他了之后怎么办
那还有的话就系统的一个初始化过程
那我们首先来看一下复位
那芯片的话
有很多这种复位源
来让这个芯片重新恢复运运行
那我们来看一下有什么
一个是上电复位 掉电复位
芯片你给他上电掉电
它都会产生一个复位
还有的话看门狗复位
还有一个在复位引脚给它一个低电平信号
这他的一个复位源
这些是外面的那除了外面的这种复位源的话
我们还有一个时钟丢失的一个复位
就当我的时钟晶振出现问题
我的晶振出现故障的时候
那我的芯片内部会有一个时钟丢失检测模块
它会自动的去检测这个时钟
所以这些都会形成一个
对这个内核的一个复位的一个功能
那左边的这四个模块
它的产生的复位的话
它会在复位引脚去查看到他有一个低电平信号
那这个时钟丢失的话
它是没有输出来的
它直接输出到芯片引脚
那这它的一个复位源
那复位之后它是怎么去做的
它并不是说你芯片复位之后
他就马上跑到你的一个
你们自己写的一个程序里面去了
它是有一个过程的
那有些时候我们没有认识这样的一个过程
有出现问题的时候
或者芯片没有跑到你的程序的时候
你们就会困惑为什么没有跑到你的程序
那么我们来看一下它是到底是怎么跑的
首先复位
复位之后它会有一个 Bootloader
就芯片会有它复位之后
它会自动的去这个地址
去取一个复位向量
其实说去这里取一个那个函数入口
那他会跑到这个 alone 里面去
跑到 alone 就我们出厂固化的
一小段代码里面去去执行
我们叫做 Bootloader
那他执行什么功能呢
它会判断一下说我芯片该从哪里去执行
或者说去取我用户的代码
那首先它的判断一个逻辑是这样子的
它会判断一下我的这个仿真器有没有连接
那如果仿真器有连接它又是一个逻辑
我的仿真器要是没有连接
也就是单机跑的情况下
我又是另外一个逻辑
那我们首先来看一下它
如果你的这种 C2000 芯片在调试的状态下的话
那它是怎么去判断的
那从我们可以看到
它是通过两个RAM 的一个空间
叫 EMU_KEY EMU_BMODE
两个 RAM 单元来判断它启动的
首先他会去看一下你的 EMU_KEY
是否是 0x55AA 如果是
它会再看另外一个存储空间去检查一下
它是不是这下面的一些
比如我往里面写一个 0x000A
那它就自动的去跑到这个 RAM 空间
去取我的用户的地址
所以你在这种情况下
你应该你的代码应该是在M0里面
否则程序就会跑飞
那如果我的程序是我往这个单元里面
敲的一个东西是 B
那他就会跑到 Flash 去执行我的代码
这其中的一种举例
所以你们可以看到你们在仿真的时候
你们去可以去查看这两个存储单元的内容
它往往会有这些默认的一些值在这里
可以保证你在仿真的时候
可以去运行到 main 里面去
那如果是单机跑的
单机跑没有带仿真器的情况
他是要根据两个 GPIO 口的一个状态
然后两个 OTP 存储的一个单元
那往往这两个的话是比较少用的
所以一般来讲
我们是看着两个 GPIO 引脚的一个状态
那通常来讲我们最多的一个配置
就是把这两个单元把他上拉
上拉之后
那他就会跑到这种状态 no
然后Flash
这个时候我的的代码是写在 Flash 的
所以我的芯片就能够正常运行了
这个过程
那么我们来看看它一个比较完整的一个流程图
复位之后在这里去取我的一个变量
去取我的一个 Bootloader 一个入口地址
然后 alone 里面去开始执行
然后去判断
那如果我是单机跑
那他就到这个 Flash 的入口地址
去执行我的代码
或者是说到这个M0去执行我的代码
这是它的一个流程
视频报错
手机看
扫码用手机观看
收藏本课程
视频简介
C2000入门基础(三)—C2000的复位系统
所属课程:C2000入门基础
发布时间:2016.03.30
视频集数:7
本节视频时长:00:06:01
TI C2000 是已针对处理、传感和驱动进行优化以提高闭环性能的 32 位实时控制MCU。本入门课程从其基本技术点和在白色家电上的应用作了讲解。 C2000 的数学优化型内核可为设计人员提供能够提高系统效率、可靠性以及灵活性的方法。功能强大的集成外设使这些实时器件成为适合各种应用的完美单芯片控制解决方案。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>