# Parameters:
# instance.parameter=value #(type, mode) default = 'def value' : description : [min..max]
#----------------------------------------------------------------------------------------------
cpu0.FPU=1 # (bool , init-time) default = '1' : Set whether the model has VFP support
cpu0.DSP=1 # (bool , init-time) default = '1' : Set whether the model has the DSP extension
cpu0.semihosting-enable=0 # (bool , init-time) default = '1' : Enable semihosting SVC traps. Applications that do not use semihosting must set this parameter to false.
cpu0.MPU_S=0x8 # (int , init-time) default = '0x8' : Number of regions in the Secure MPU. If Security Extentions are absent, this is ignored : [0x0..0x10]
cpu0.MPU_NS=0x8 # (int , init-time) default = '0x8' : Number of regions in the Non-Secure MPU. If Security Extentions are absent, this is the total number of MPU regions : [0x0..0x10]
cpu0.ITM=0 # (bool , init-time) default = '1' : Level of instrumentation trace supported. false : No ITM trace included, true: ITM trace included
cpu0.IRQLVL=0x3 # (int , init-time) default = '0x3' : Number of bits of interrupt priority : [0x3..0x8]
cpu0.BIGENDINIT=0 # (bool , init-time) default = '0' : Initialize processor to big endian mode
cpu0.INITSVTOR=0x00000000 # (int , init-time) default = '0x10000000' : Secure vector-table offset at reset : [0x0..0xFFFFFF80]
cpu0.INITNSVTOR=0x0 # (int , init-time) default = '0x0' : Non-Secure vector-table offset at reset : [0x0..0xFFFFFF80]
cpu0.SAU=0x0 # (int , init-time) default = '0x4' : Number of SAU regions (0 => no SAU) : [0x0..0x8]
cpu0.SAU_CTRL.ENABLE=0 # (bool , init-time) default = '0' : Enable SAU at reset
cpu0.SAU_CTRL.ALLNS=0 # (bool , init-time) default = '0' : At reset, the SAU treats entire memory space as NS when the SAU is disabled if this is set
cpu0.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' :
cpu0.LOCK_SAU=0 # (bool , init-time) default = '0' : Lock down of SAU registers write
cpu0.LOCK_S_MPU=0 # (bool , init-time) default = '0' : Lock down of Secure MPU registers write
cpu0.LOCK_NS_MPU=0 # (bool , init-time) default = '0' : Lock down of Non-Secure MPU registers write
cpu0.CPIF=1 # (bool , init-time) default = '1' : Specifies whether the external coprocessor interface is included
cpu0.SECEXT=0 # (bool , init-time) default = '1' : Whether the ARMv8-M Security Extensions are included
fvp_mps2.DISABLE_GATING=1 # (bool , init-time) default = '0' : Disable Memory gating logic
fvp_mps2.NUM_IDAU_REGION=0x0 # (int , init-time) default = '0xA' :
fvp_mps2.SCC_ID.Variant=0x0 # (int , init-time) default = '0x0' : SCC_ID[23:20], X in the FGPA version 'rXpY' : [0x0..0xF]
fvp_mps2.SCC_ID.Revision=0x1 # (int , init-time) default = '0x1' : SCC_ID[3:0], Y in the FGPA version 'rXpY' : [0x0..0xF]
fvp_mps2.platform_type=0x0 # (int , init-time) default = '0x0' : 0:MPS2 ; 1:IoT Kit ; 2:Castor : [0x0..0x2]
fvp_mps2.extra_psram=0 # (bool , init-time) default = '0' : Increases PSRAM to 32Mb
fvp_mps2.UART2.out_file="" # (string, init-time) default = '' : Output file to hold data written by the UART (use '-' to send all output to stdout)
fvp_mps2.UART2.in_file="" # (string, init-time) default = '' : Input file for data to be read by the UART
fvp_mps2.UART2.unbuffered_output=0 # (bool , init-time) default = '0' : Unbuffered output
fvp_mps2.UART2.in_file_escape_sequence="##" # (string, init-time) default = '##' : Input file escape sequence
fvp_mps2.UART2.shutdown_on_eot=0 # (bool , init-time) default = '0' : Shutdown simulation when a EOT (ASCII 4) char is transmitted (useful for regression tests when semihosting is not available)
fvp_mps2.UART2.shutdown_tag="" # (string, run-time ) default = '' : Shutdown simulation when a string is transmitted
fvp_mps2.UART1.out_file="" # (string, init-time) default = '' : Output file to hold data written by the UART (use '-' to send all output to stdout)
fvp_mps2.UART1.in_file="" # (string, init-time) default = '' : Input file for data to be read by the UART
fvp_mps2.UART1.unbuffered_output=0 # (bool , init-time) default = '0' : Unbuffered output
fvp_mps2.UART1.in_file_escape_sequence="##" # (string, init-time) default = '##' : Input file escape sequence
fvp_mps2.UART1.shutdown_on_eot=0 # (bool , init-time) default = '0' : Shutdown simulation when a EOT (ASCII 4) char is transmitted (useful for regression tests when semihosting is not available)
fvp_mps2.UART1.shutdown_tag="" # (string, run-time ) default = '' : Shutdown simulation when a string is transmitted
fvp_mps2.mps2_visualisation.rate_limit-enable=1 # (bool , init-time) default = '1' : Rate limit simulation.
fvp_mps2.mps2_visualisation.disable-visualisation=0 # (bool , init-time) default = '0' : Enable/disable visualisation
fvp_mps2.mps2_visualisation.window_title="CLCD %cpu%" # (string, init-time) default = 'CLCD %cpu%' : Window title (%cpu% is replaced by cpu_name)
fvp_mps2.mps2_visualisation.idler.delay_ms=0x32 # (int , init-time) default = '0x32' : Determines the period, in milliseconds of real time, between gui_callback() calls.
fvp_mps2.telnetterminal0.mode="telnet" # (string, init-time) default = 'telnet' : Terminal initialisation mode
fvp_mps2.telnetterminal0.start_telnet=1 # (bool , init-time) default = '1' : Start telnet if nothing connected
fvp_mps2.telnetterminal0.start_port=0x1388 # (int , init-time) default = '0x1388' : Telnet TCP Port Number : [0x0..0xFFFFFFFF]
fvp_mps2.telnetterminal0.quiet=0 # (bool , init-time) default = '0' : Avoid output on stdout/stderr
fvp_mps2.telnetterminal0.terminal_command="" # (string, init-time) default = '' : Commandline to launch a terminal application and connect to the opened TCP port. Keywords %port and %title will be replaced with the opened port number and component name respectively. An empty string (default behaviour) will launch xterm (Linux) or telnet.exe (Windows)
fvp_mps2.telnetterminal1.mode="telnet" # (string, init-time) default = 'telnet' : Terminal initialisation mode
fvp_mps2.telnetterminal1.start_telnet=1 # (bool , init-time) default = '1' : Start telnet if nothing connected
fvp_mps2.telnetterminal1.start_port=0x1388 # (int , init-time) default = '0x1388' : Telnet TCP Port Number : [0x0..0xFFFFFFFF]
fvp_mps2.telnetterminal1.quiet=0 # (bool , init-time) default = '0' : Avoid output on stdout/stderr
fvp_mps2.telnetterminal1.terminal_command="" # (string, init-time) default = '' : Commandline to launch a terminal application
stm32 Makefile工程
需积分: 0 169 浏览量
更新于2022-04-10
收藏 18.58MB RAR 举报
STM32 Makefile工程是为基于ARM Cortex-M内核的STM32微控制器构建应用程序的一种方法。Makefile是一个脚本文件,它告诉编译器如何编译、链接和生成可执行程序,尤其在嵌入式系统开发中,它在管理项目源文件、库和编译选项上起着关键作用。
在STM32开发中,Makefile通常包含以下几个核心部分:
1. **目标(Target)**:定义了最终要生成的可执行文件或库文件。例如,`all: myProject.elf` 表示`myProject.elf`是默认的目标文件。
2. **源文件(Sources)**:列出所有需要编译的C或C++源文件,如`SRCS := main.c driver/stm32f4xx_hal_conf.c ...`。
3. **对象文件(Objects)**:根据源文件生成的中间目标,通常是源文件名加上`.o`后缀。例如,`OBJS := $(SRCS:.c=.o)`。
4. **编译规则(Rules)**:定义如何从源文件生成对象文件,如`%.o: %.c $(DEPS)`,接着是编译命令`$(CC) -c $(CFLAGS) $(INCS) -o $@ $<`,其中`$@`表示目标,`$<`表示依赖项。
5. **链接规则(Link Rules)**:将对象文件链接成可执行文件,如`myProject.elf: $(OBJS)`,然后是链接命令`$(CC) $(LDFLAGS) $(OBJS) -o $@ $(LIBS)`。
6. **预处理(Preprocessing)**:有时会包含预处理步骤,比如生成依赖文件(`.d`),以便在源文件修改时自动重新编译。
7. **清理规则(Clean Rules)**:提供清理功能,删除临时和目标文件,如`clean:`后跟着`rm -f *.o *~ core $(TARGET)$(PROJECT).hex $(PROJECT).bin`。
8. **宏变量(Macro Variables)**:如`CC`代表C编译器,`CFLAGS`包含编译选项,`INCS`包含头文件路径,`LIBS`是链接时所需的库。
9. **条件语句(Conditional Statements)**:根据不同的编译条件,如调试模式或优化级别,选择不同的编译选项。
在学习STM32 Makefile工程时,你需要了解如何配置这些部分以适应你的项目需求,包括设置正确的编译器路径、库路径、优化级别、调试选项等。同时,熟悉常用的ARM Cortex-M系列的STM32芯片的启动文件(startup code)和HAL库的使用也是必要的。
在嵌入式硬件开发中,理解Makefile可以帮助你更有效地管理代码,提高开发效率。单片机编程通常涉及硬件接口的驱动程序编写,如GPIO、定时器、串口等,而STM32的HAL库提供了与这些外设交互的抽象层,简化了开发工作。
总结来说,STM32 Makefile工程的学习涵盖了嵌入式系统开发的基础知识,包括Makefile的语法、STM32的硬件接口编程、以及ARM Cortex-M架构的理解。通过实践,你可以逐步掌握如何构建、编译和调试STM32项目,为更复杂的嵌入式系统设计打下坚实基础。
何李同学
- 粉丝: 16
- 资源: 2
最新资源
- 地面无线电台(站)设置使用申请表.xlsx
- 档案材料归档移交目录表.docx
- 辅导员工作考核汇总表.docx
- 辅导员工作考核上报表.docx
- 辅导员工作考核登记表、辅导员工作量化考核表.docx
- 高中阶段(水平五)体育寒假作业建议表.docx
- 各年龄段骨密度参考值表.docx
- 工贸小微企业公示牌内容填写示范.docx
- 公寓管理服务中心研究生入住申请表.doc
- 管理工程系学生周五和周六晚不住校申请表.doc
- 国内公务接待清单.doc
- 技能学分项目和分值表.docx
- 教师学生听课记录.doc
- 快速随机Hough变换应用于多圆检测的研究与实现
- 普通高等学校毕业就业证明函.doc
- 省直住房货币化补贴提取申请表.xls