RT1050开发--第5节 RT1050 Hello World (Keil V5)

第5节 RT1050 Hello World (Keil V5)

HelloWorld工程介绍

工程文件位置

C:\Users\Gavin\Documents\RT\Keil5\rt1050 keil sdk & doc\SDK_2_14_0_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\hello_world\

Keil工程位置


MDK工程目录结构

几种工程目标

—> 我们在这里用的是flexspi_nor_debug工程,代码段放在nor flash,数据段放在TCM中!

工程工作组

关于xip的用处:

  • 由于RT没有内部Flash,代码都存放在外部ROM空间,那么,在系统启动时,RT是不知道外部flash的信息的,比如:代码地址,空间大小等等;
  • 所以,需要把这些信息先存放在外部Flash中,然后RT通过SPI通信获得了这部分信息之后,才可以到外部Flash中去取指令;

打造自己的HelloWorld工程

SDK工程路径

创建hello_world工程

  • 创建01-hello_world文件夹;
  • 复制SDK的主要文件;
    • 根据工程包含的路径复制,得到:
  • 打开这个新建的工程,消除找不到文件的感叹号

—> 消除方法:通过使用文本编辑器打开该Keil工程,全文搜索并替换这几个include的相对路径!

—> Reload!

—> 完成!

分析Hello_world.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main(void)
{
char ch;

/* Init board hardware. 初始化开发板*/
BOARD_ConfigMPU(); //配置内存保护单元
BOARD_InitBootPins(); //初始化开发板IO模式
BOARD_InitBootClocks(); //初始化开发板系统时钟
BOARD_InitDebugConsole(); //初始化调试控制台

/* Just enable the trace clock, leave coresight initialization to IDE debugger */
SystemCoreClockUpdate();
CLOCK_EnableClock(kCLOCK_Trace);

PRINTF("hello world.\r\n");

while (1)
{
ch = GETCHAR();
PUTCHAR(ch);
}
}

烧写代码

Keil 快捷键 F8

实验现象

作者

Gavin

发布于

2023-12-05

更新于

2023-12-05

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×