Makefile 构建 rtthread 工程2-finsh

本文介绍了如何在rtthread工程中添加finsh组件,通过修改链接脚本STM32F429BITx_FLASH.ld,添加必要段落。将官方驱动库加入工程,并更新Makefile以包含finsh和串口源文件。同时,需要在rtconfig.h中启用相关宏,并解决编译过程中遇到的头文件和HAL库问题。最终,成功编译并通过串口实现控制台运行。
摘要由CSDN通过智能技术生成

Makefile 构建 rtthread 工程2-finsh

上一文中,已经把 rtthread 内核成功编译通过并跑起来了,下一步就是尝试添加组件,此处以 finsh 为例。
首先修改链接脚本,此处为 STM32F429BITx_FLASH.ld ,主要是为 rtthread 添加所需的段,在 SECTIONS -> .text 修改如下:

/* The program code and other data goes into FLASH */
  .text :
  {
    . = ALIGN(4);
    *(.text)           /* .text sections (code) */
    *(.text*)          /* .text* sections (code) */
    *(.glue_7)         /* glue arm to thumb code */
    *(.glue_7t)        /* glue thumb to arm code */
    *(.eh_frame)

    KEEP (*(.init))
    KEEP (*(.fini))

	/* section information for finsh shell */
	. = ALIGN(4);
	__fsymtab_start = .;
	KEEP(*(FSymTab))
	__fsymtab_end = .;
	. = ALIGN(4);
	__vsymtab_start = .;
	KEEP(*(VSymTab))
	__vsymtab_end = .;
	. = ALIGN(4);

	/* section information for initial. */
	. = ALIGN(4);
	__rt_init_start = .;
	KEEP(*(SORT(.rti_fn*)))
	__rt_init_end = .;
	. = ALIGN(4);

    . = ALIGN(4);
    _etext = .;        /* define a global symbols at end of code */
  } >FLASH

添加这两个段的目的也是为了实现隐式调用,比如 rtthread 的一些组件初始化函数,比如rtthread 导出到命名行的命令,

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值