6 新建工程——寄存器

文章目录

  • 6.1 本地新建工程文件夹
  • 6.2 新建工程
    • 6.2.1 选择CPU型号
    • 6.2.2 在线添加库文件
    • 6.2.3 添加文件
    • 6.2.4 复制存储器分配文件
    • 6.2.5 配置选项卡
      • 6.2.5.1 Linker
      • 6.2.5.2 Target
      • 6.2.5.3 Output 选项卡
      • 6.2.5.4 Listing 选项卡
      • 6.2.6 下载器配置

版本说明:MDK5.24

6.1 本地新建工程文件夹

可随意命名,该目录下新建 2 个文件夹 Listings 和 Objects
在这里插入图片描述

6.2 新建工程

LEIL5新建工程,直接保存在 LED 文件夹下

6.2.1 选择CPU型号

i.MX RT1052 系列开发板选MIMXRT1052DVL5B
没有出现你想要的 CPU 型号,就是你没有添加 RT1052 芯片包
在这里插入图片描述

6.2.2 在线添加库文件

不需要在线添加库文件,这里我们点击关掉

6.2.3 添加文件

选择文件 Add 即可
在这里插入图片描述 startup_MIMXRT1052.s启动文件

  • 系统上电后第一个运行的程序,由汇编编写,C 编程用的比较少,可暂时不管,
    这个文件是从固件库里面拷贝而来的,由 NXP 官方提供。

MIMXRT1052.h

  • 用户手动新建,用于存放寄存器映射的代码,暂时为空。

main.c

  • 用户手动新建,用于存放 main 函数,写入如下空代码
/*
2 * 工程模板 ( 寄存器版本 )
3 */
4 #include "MIMXRT1052.h"
5
6
7 /**
8 * 主函数
9 */
10 int main(void)
11 {
12
13 while (1);
14
15 }

17 // 函数为空,目的是为了骗过编译器不报错
18 void SystemInit(void)
19 {
20 }

SystemInit(), 该 函 数 在 启 动 文 件startup_MIMXRT1052.s 的复位程序中被调用,主要作用是初始化系统时钟,是在固件库里面实现的。

6.2.4 复制存储器分配文件

在 RT1052 的工程中还需要添加一个存储器分配文件,文件名为MIMXRT1052xxxxx_flexspi_nor
文件的原目录:
RT1052 sdk 根目录\devices\MIMXRT1052\arm\MIMXRT1052xxxxx_flexspi_nor
在这里插入图片描述

6.2.5 配置选项卡

6.2.5.1 Linker

Linker 选项卡包含对链接器的配置:

  • 链接器对 C/C++ 及 ASM 汇编器生成的 *.o 目标文件链接得到最终的可执行程序文件

在Linker 选项卡中我们主要设置链接使用的存储器分配文件。

  • KEIL 会根据我们的
  • 芯片型号设置一个默认的存储器分配文件
  • 我们要使用的是MIMXRT1052xxxxx_flexspi_nor 文件

配置方法是在 Linker 选项框中取消勾选“Use Memory Layout from TargetDialog”选项,然后打开 Scaltter File 栏右侧的按钮把 MIMXRT1052xxxxx_flexspi_nor 添加进去
在这里插入图片描述需要进行修改,点击选项框中的“Edit”按钮会弹出该文件的内容,然后直接编辑即可。
修改如下:

  • 把 m_text_size 的值修改为 0x01FFDC00;
  • 把 LR_m_rom_config 及 LR_m_rom_ivt 相关的代码使用分号“;”注释掉。

添加忽略警告提示。

  • 在同样的选项框下“disable Warnings”添加对忽略 6314 类型警告的配置,否则在后面编译时经常会提示分配的部分存储器没有使用的警告
  • 在这里插入图片描述

6.2.5.2 Target

Target 选项卡需要设置不使用浮点运算单元。

  • 本芯片包含有浮点运算单元,使用它可以加速浮点类型数据的运算。
  • 不过使用浮点运算单元时还需要在代码中添加一些配置,在本教程中,寄存器版的工程只作简单的演示,不做浮点单元的配置
  • 以此处我们需要关闭它,不然程序执行会出错

在这里插入图片描述

6.2.5.3 Output 选项卡

如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上
在这里插入图片描述

6.2.5.4 Listing 选项卡

Listing 选项卡中把输出文件夹定位到我们工程目录下的 Listings 文件夹
在这里插入图片描述

6.2.6 下载器配置

STM32文章中有过相关描述

之后编译下载即可。

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

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

相关文章

许战海战略文库|重回大众视野的健力宝如何重生

摘要:销售额连续7年没有增长;产业主品牌定位不清晰;产品不协同缺少产品战略;子品牌无法形成合力新产品共性不足;过度差异化缺少渠道战略;被渠道能力更强的品牌挤压。火遍世界的“东方魔水”从第一品牌到被人遗忘,健力宝该如何重生? 健力宝诞生于1984年&…

css 三栏布局的实现

三栏布局在前端页面设计中是一个常见的布局方式,通常包含左侧、中间和右侧三个部分。这种布局方式在多种场景中都很受欢迎,例如博客、新闻网站和企业官网。本文将详细介绍三栏布局的实现方法,包括用法、代码、深入理解,以及配合高…

Python编程基础:输入/输出函数、注释与缩进

Python是一种简单易学的编程语言,广泛应用于Web开发、数据分析、人工智能等领域。无论您是初学者还是有一定编程经验的人士,都可以从Python的基础知识开始建立自己的编程技能。 目录 理论Python语言的发展程序设计语言的分类静态语言与脚本语言的区别 代…

解决element ui tree组件不产生横向滚动条

结果是这样的 需要在tree的外层&#xff0c;包一个父组件 <div class"tree"><el-tree :data"treeData" show-checkbox default-expand-all></el-tree></div> 在css里面这样写,样式穿透按自己使用的css编译器以及框架要求就好 &l…

笔记:Pika Labs 3D 动画生成工具

Pika Labs 一款3D 动画生成工具 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134657306 目 录 1. 简介2. 准备2.1 安装 discord2.2 加入 Discord 频道 3. Pika 使用指南2.1 快速开始2.2 从图像到视频2.3 Pika Bot按钮2.4 提示&#xff08;Prompt&a…

WPF Live Charts2 自学笔记

文章目录 前言实现效果微软平台的历史问题 WPF 项目搭建Nuget添加额外框架添加项目初始化livecharts配置其它LiveCharts2 案例简单案例Demo示例ViewViewModel GPU渲染 Github地址仓库 前言 LiveChart 是C# 上面很受欢迎的统计图 UI控件。最近在学WPFhalcon开发&#xff0c;想想…

肖sir__mysql之单表练习题2__(2)

mysql之单表练习题 一.建表语句 create table grade(class int(4),chinese int(8),english int(4),math int(8),name varchar(20),age int(8),sid int(4)primary key auto_increment) DEFAULT charsetutf8; insert into grade(class,chinese,english,math,name,age)values(1833…

在Android上搭建一个NDK项目

首先New Project&#xff0c;选择Native C&#xff0c;点击Next。 填入项目名称和包名&#xff0c;点击Next。 这里我们选择Cmake默认的C版本。 创建好的项目目录&#xff0c;里面比我们正常的Android项目多了一个cpp目录 打开MainActivity。里面定义了一个jni方法stringFromJN…

LLM;超越记忆《第 2 部分 》

一、说明 在这篇博客中&#xff0c;我深入研究了将大型语言模型&#xff08;LLM&#xff09;提升到基本记忆之上的数学框架。我们探索了动态上下文学习、连续空间插值及其生成能力&#xff0c;揭示了 LLM 如何理解、适应和创新超越传统机器学习模型。 LLM代表了人工智能的重大飞…

如何使用 NFTScan NFT API 在 Starknet 网络上开发 Web3 应用

Starknet 是由以色列软件公司 StarkWare 开发的免许可的第 2 层网络。Starknet 作为以太坊上的 ZK Rollup 运行&#xff0c;帮助 dApp 使用 STARK 证明以更低的交易成本实现更大的计算规模。该网络允许智能合约与区块链上部署的其他合约进行交互&#xff0c;从而提高协议之间的…

简单说说vue中v-model和v-bind绑定数据的异同

vue的模板采用DOM模板&#xff0c;也就是说它的模板可以当做DOM节点运行&#xff0c;在浏览器下不报错&#xff0c;绑定数据有三种方式&#xff0c;一种是插值&#xff0c;也就是{{name}}的形式&#xff0c;一种是属性绑定 v-bind&#xff0c;还有一种是双向绑定 v-model。{{na…

Postman Post请求上传文件

Postman Post请求上传文件 一、选择post请求方式&#xff0c;输入请求地址 二、填写Headers Key&#xff1a;Content-Type Value&#xff1a;multipart/form-data [{"key":"Content-Type","value":"multipart/form-data","de…

校园局域网规划与设计(cisco仿真模拟)

摘 要 随着网络技术的发展&#xff0c;校园网的建设已经进入到一个蓬勃发展的阶段。校园网的建成和使用&#xff0c;对于提高教学和科研的质量、改善教学和科研条件、加快学校的信息化进程&#xff0c;开展多媒体教学与研究以及使教学多出人才、科研多出成果有着十分重要而深远…

深入理解前端路由:构建现代 Web 应用的基石(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Hdoop学习笔记(HDP)-Part.13 安装Ranger

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

MySQL的系统信息函数

系统信息函数让你更好的使用MySQL数据库 1、version()函数 查看MySQL系统版本信息号 select version();2、connection_id()函数 查看当前登入用户的连接次数 直接调用CONNECTION_ID()函数--不需任何参数--就可以看到当下连接MySQL服务器的连接次数&#xff0c;不同时间段该…

Jmeter性能测试 —— 压力模式

压力模式 性能测试中的压力模式有两种。 第一种是并发用户模式&#xff08;虚拟用户模式&#xff09;并发用户是指虚拟并发用户数&#xff0c;从业务角度&#xff0c;也可以理解为同时在线的用户数。 从客户端的角度出发&#xff0c;摸底业务系统各节点能同时承载的在线用户数…

shell 脚本批量处理文件后缀名

shell 脚本批量处理文件后缀名 flumes收集日常完成后会对收集的文件添加.COMPLETED后缀名。 我仍然使用原文件名&#xff0c;于是萌生了编写 shell 脚本批量删除文件后缀名的想法。 效果很好&#xff0c;但整个脚本功能太多单一&#xff0c;如果想按需修改文件后缀名呢&#xf…

07-原型模式-C语言实现

UML图&#xff1a; 代码实现&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h>// 原型接口 typedef struct {void* (*clone)(void*); } Prototype;// 具体原型类 typedef struct {Prototype prototype;char* name;int age; } Concr…

MyBatis-逆向工程

1.简单生成 1.添加依赖和插件 <dependencies><!-- MyBatis核心依赖包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.9</version></dependency><!-- MySQL驱动…