0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Segger J-Flash中设置芯片初始化序列?

麦克泰技术 来源:麦克泰技术 作者:麦克泰技术 2022-12-12 10:56 次阅读

许多微控制器在烧录之前需要一个自定义的初始化序列来初始化目标硬件,例如初始化PLL时钟,关闭看门狗或定义Flash的等待状态。在使用这些对初始化过程有特殊要求的芯片时,在Segger J-Flash软件中创建工程时需要设置芯片的初始化序列。

打开J-Flash软件,在Options->Project settings选项中,可以设置芯片的初始化和烧录成功后需要执行的动作。

1fd9d53c-77b1-11ed-8abf-dac502259ad0.png

J-Flash支持设置的初始化命令包括读写特定地址、校验、暂停CPU和设置芯片复位方式等。支持的完整的指令列表请参考J-Flash用户手册中的介绍。下面简单介绍一些常用的初始化指令。

Reset:设置芯片的复位方式,如硬件复位或软件复位等,某些芯片需要的特殊复位方式也需要通过该命令进行设置。

Delay:延时一段时间。

Write 32bit:向指定地址写入32位的数据。注意所有的 "Write *"命令只能用于写入RAM或SFR寄存器,而不能将数据写入到Flash闪存地址。要修改写入到Flash区域的数据只能通过改变烧录文件来实现。烧录文件可以通过使用 "Write File*"命令在初始步骤中修改。

Write File 32bit:向烧录文件中的指定地址中写入32位的数据,用于修改要烧录的固件。

Halt:暂停CPU。

Go:CPU开始运行。

下面通过AT91SAM7S256该芯片的初始化序列设置来帮助理解,在Init.steps选项设置的Comment一栏可以添加注释,用于记录该行命令所要实现的功能。

1ff24cfc-77b1-11ed-8abf-dac502259ad0.png

如上图所示,在该芯片的初始化序列中共设置了8条指令,下面将介绍这些指令具体完成的工作。

指令0:无延时立即执行复位动作,复位模式是模式8。该复位方式是用于ATMEL AT91SAM7内核芯片的特定复位模式,该模式通过写芯片的RSTC_CR寄存器来复位外设。复位外设会使所有外设处于定义的复位状态。这包括内存映射寄存器,这意味着复位后flash被映射到地址0。JLink支持的所有复位模式的介绍请参考J-Link的用户手册。

指令1:向0xFFFFFD44(看门狗定时模式寄存器)地址写入数据0x00008000这个值来关闭看门狗。

指令2:向0xFFFFFF60(MC Flash模式寄存器)地址写入数据0x00320300这个值来设置flash的等待状态。

指令3:向0xFFFFFC20(PMC寄存器)地址写入数据0x00000601这个值来初始化PLL时钟。

指令4:延时200ms。

指令5:向0xFFFFFC2C(PLL寄存器)地址写入数据0x00191C05这个值来设置PLL时钟和分频系数。

指令6:延时200ms。

指令7:向0xFFFFFC30(PMC寄存器内的特定位)地址写入数据0x00000007这个值来选择系统时钟和外设时钟。

本文中我们介绍了如何在J-Flash中设置芯片的初始化序列,该功能令J-Flash软件能够适配更多类型的芯片,进而更好的满足用户需求。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7505

    浏览量

    151149
  • 芯片
    +关注

    关注

    454

    文章

    50502

    浏览量

    422328
  • 初始化
    +关注

    关注

    0

    文章

    49

    浏览量

    11842
  • SEGGER
    +关注

    关注

    0

    文章

    38

    浏览量

    14109

原文标题:如何在Segger J-Flash中设置芯片初始化序列?

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32入门系列教程之三《如何使用J-Flash调试》

    对初学者来说,要进行STM32 的程序下载调试,一般有三种方法:(1)使用SEGGER J-FlashJ-Link)下载程序到闪存运行;(2)使用串口ISP 来下载HEX 文件到C
    发表于 11-04 15:17

    芯达STM32入门系列教程之二《如何使用J-Flash调试》

    对初学者来说,要进行 STM32的程序下载调试,一般有三种方法:1.使用 SEGGER J-FlashJ-Link)下载程序到闪存运行;2.使用串口 ISP 来下载 HEX 文件到
    发表于 08-21 16:09

    请问IAR下载程序与J-FLASH ARM的差别是什么?

    我发现IAR仿真程序与用J-FLASH ARM下载程序不同。之前我程序在初始化时死循环起不了机,且其它参数都变化,用J-FLASH ARM重新下载程序,效果还是起不了机。但是用IAR时,参数都恢复
    发表于 03-12 08:08

    如何使用J-Flash软件烧录程序

    ,没有对应工程文件的情况下就无法通过IDE来烧录了。德国Segger公司的J-Flash软件可以很好的解决上面提到的两个问题,J-Flash是一款独立的编程软件,可在无需项目工程文件的情况下直接烧录
    发表于 01-17 11:11

    STM32单片机是怎样使用SEGGER J-Flash进行烧录的呢

    STM32单片机使用SEGGER J-Flash 烧录的方法1. 烧录环境需求硬件需求:电脑: 装有Windows 7 及以上的32位或64位操作系统的电脑烧录工具:J-Link V8 (硬件版本
    发表于 01-26 07:20

    AllinOne Flash Algorithm for J-Flash平台使用方法

    for J-Flash项目中我创建了两个算法工程,其中一个为Keil版本的CMSIS标准flash算法(生成.FLM算法文件),另外一个为Segger公司提供的Segger Embe
    发表于 09-28 16:07

    何在Segger J-Flash设置芯片初始化序列

    PLL时钟和分频系数。指令6:延时200ms。指令7:向0xFFFFFC30(PMC寄存器内的特定位)地址写入数据0x00000007这个值来选择系统时钟和外设时钟。本文中我们介绍了如何在J-Flash
    发表于 01-05 13:54

    STM32入门系列教程之三《如何使用J-Flash调试》

    对初学者来说,要进行STM32 的程序下载调试,一般有三种方法: (1)使用SEGGER J-FlashJ-Link)下载程序到闪存运行; (2)使用串口ISP 来下载HEX 文件
    发表于 06-01 14:54 1435次下载
    STM32入门系列教程之三《如何使用<b class='flag-5'>J-Flash</b>调试》

    RDA1846S初始化设置

    RDA1846S初始化设置RDA1846S初始化设置RDA1846S初始化设置
    发表于 01-15 17:08 0次下载

    jlink驱动下载SEGGER J-FlASH ARM应用程序免费下载

    segger j-flash arm是jlink调试工具的新驱动。本驱动J-link ARM V4.08l适合山寨版jlink v7 v8使用 ,不锁机不死机,xpwin7通用!SEGGER
    发表于 04-12 17:30 507次下载
    jlink驱动下载<b class='flag-5'>SEGGER</b> <b class='flag-5'>J-FlASH</b> ARM应用程序免费下载

    如何使用J-Flash实现调试

    本文档讲述如何在芯达STM32 开发板上使用SEGGER J-Flash 下载HEX 文件。而其他两种方法,我们将在文档《如何使用MDK + J-Link 调试》、以及《如何使用STM
    发表于 04-21 13:08 7次下载
    如何使用<b class='flag-5'>J-Flash</b>实现调试

    STM32单片机使用SEGGER J-Flash 烧录的方法

    STM32单片机使用SEGGER J-Flash 烧录的方法
    发表于 12-02 10:21 20次下载
    STM32单片机使用<b class='flag-5'>SEGGER</b> <b class='flag-5'>J-Flash</b> 烧录的方法

    Segger J-Flash下烧写遇到特定区域内校验失败的问题

    最近在支持一个i.MX RT1170欧美客户,客户项目里选用了来自Micron的四线NOR Flash - MT25QL256ABA8E12-0AAT作为启动设备,一般读写倒是没有问题,但是在 Segger J-Flash下烧写
    的头像 发表于 10-27 09:02 5202次阅读

    一个关于Segger J-Flash在Micron Flash固定区域下载校验失败的故事

    接下来就是按客户操作流程来复现 Segger J-Flash 烧写校验失败问题,客户其实是尝试烧写全部 32MB 数据来查看 J-Flash 及其配套下载算法能否适用这颗 Flash
    的头像 发表于 11-01 11:28 961次阅读

    AN0016使用J-Flash实现对MM32芯片的烧录(中文版)

    AN0016 使用J-Flash实现对MM32芯片的烧录(中文版)
    发表于 02-22 18:33 0次下载
    AN0016使用<b class='flag-5'>J-Flash</b>实现对MM32<b class='flag-5'>芯片</b>的烧录(中文版)