【TMS570LC4357】之工程配置修改

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、付费专栏及课程。

余额充值