【TMS570LC4357】之工程配置修改

系列文章目录

【TMS570LC4357】之工程创建
【TMS570LC4357】之相关问题及解决
【TMS570LC4357】之工程配置修改
【TMS570LC4357】之HALCOGEN使用
——————————————————

1.栈空间大小修改

TMS570 有两处可以修改堆栈空间

1.1动态内存

在这里插入图片描述

1.2静态内存分配

实际Flash或RAM中静态内存分配
在这里插入图片描述

1.3 HALCOGEN生成内存修改

实际上hlcogeneral 中修改后变更的是汇编和对应的头文件中
在这里插入图片描述
用户堆栈空间
在这里插入图片描述
在这里插入图片描述
汇编文件和cmd文件需要保持一致。

FreeRTOS 中堆栈的修改,可以在CODE generate 中修改,在这里插入图片描述
也可以直接修改代码
在这里插入图片描述

备注:
在CCS(Code Composer Studio)中,heap size for C/C++ dynamic memory 和 HL_sys_link.cmd 文件中的内存配置是两个不同的概念,分别用于管理动态内存分配和静态内存布局。

  1. Heap Size for C/C++ Dynamic Memory
    定义:这是在CCS项目设置中配置的一个参数,用于指定堆(heap)的大小。堆是用于动态内存分配的区域,通常通过 malloc、calloc、realloc 等函数来分配内存。

作用:堆的大小决定了你的程序可以动态分配多少内存。如果堆设置得太小,可能会导致动态内存分配失败;如果设置得太大,可能会浪费内存资源。

配置位置:在CCS中,可以通过项目的属性(Properties)-> C/C++ Build -> Basic Options 来设置堆的大小。

  1. HL_sys_link.cmd 中的 MEMORY 配置
    定义:HL_sys_link.cmd 文件是一个链接器命令文件,用于定义内存布局。它指定了不同内存区域的起始地址(origin)和长度(length),以及这些区域的用途(如代码段、数据段、堆栈等)。

作用:这个文件告诉链接器如何将代码和数据分配到具体的内存地址。它定义了静态内存布局,包括代码、数据、堆栈等的存放位置。

内存区域:

VECTORS:通常用于存放中断向量表。

KERNEL:可能用于存放内核代码。

FLASH0 和 FLASH1:用于存放程序代码。

STACKS:用于存放栈(stack),栈是用于函数调用、局部变量等的内存区域。

KRAM 和 RAM:用于存放数据段、堆(heap)等。

2. 静态内存、动态内存,freeRTOS 对于内核空间大小占据变化

同样的线程数量和IPC数量,静态内存实际占据内存大小 大于 动态内存分配方式。

2.1 静态内存

在这里插入图片描述

2.2 动态内存 在这里插入图片描述

3.修改工程名称

同一工程名和项目内人员分享工程后是无法导入的,这时就需要修改工程名,修改后还得能编译。
在这里插入图片描述

在project中修改name
在这里插入图片描述

在这里插入图片描述
重新导入工程,就能编译通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值