STM32F4 定义ucosii到CCM

原创 2016年05月31日 13:51:38

  STM32F4说是有192KRAM 但是很是很坑。192k分为两部分128k普通RAM和64K CCM RAM,CCM只能内核调用,外设无法使用。本来想着192KRAM挺好,结果仔细看悲剧了。但是也不能浪费,可以尝试使用它,把UCOS内核数据放到CCM。网上搜索到一个FreeRTOS的照着他的自己弄了弄。

http://www.stmcu.org/module/forum/thread-604814-1-1.html再次感谢该网友。。。


1.勾选IARM2 确认使用CCM

此时编译程序后打开.map文件会发现使用了CCM但是没有数据定义到这块RAM。同时发现IRAM1内部关于UCOS的存储。


2.打开.sct文件添加如下图代码--UCOS_ii_IARM自己写的,把刚刚在IRAM1中看到的 os_core.o 和os_cpu_c.o文件添加到CCM。 

修改MDK 不勾选USE Memory Layout from Targe Dialog,如下图。保存重新编译

这时打开.map文件会发现os_core.o 和os_cpu_c.o文件添加到了CCM。任然没有在CCM中定义数据啥的。



如果需要定义数据到CCM就需要修改.sct文件。比如我要在CCM定义20K数组存放图片则需要这样,首先定义数组并at起始地址

u8 g_nJPEGBuff[20*1024] __attribute__((at(0x10000000))) = {0,};

然后UCOS定义到CCM的数据位置也要相应的调整,这里我分配32K给数组用,32K给UCOS用那么.sct文件就需要修改成如下图所示


此时编译后打开.MAP文件就会看到有一个数据定义在了 RW_IRAM2即CCM中 尺寸是0x00005000也就是我们定义的20K数组占用的。而UCOS则定义到了0x10008000地址以后的空间。如下图



版权声明:本文为博主原创文章,未经博主允许不得转载。

stm32f407 官方ucos-iii 不支持FPU 导致haltfault错误的处理办法

由于官方提供的μCOS-III移植工程中对于浮点寄存器的入栈和出栈处理是错误的,所以网上就流传了 各种修正版本。但是这些修正的代码只能在 MDK4.7 以下版本中可以正常的运行,MDK4.7 及其以上...
  • byteman_wang
  • byteman_wang
  • 2014年06月03日 14:11
  • 3273

CCM - 极致发挥STM32F4性能的利器

转载▼ 标签:  stm32   ccm   it 分类: 嵌入式 CCM(Core Coupled Memory)...
  • q7727765
  • q7727765
  • 2015年09月04日 10:27
  • 1344

STM32F407 UCOSIII 资源包(基于官网系统修改,带FPU,已移植FREE MODBUS)

  • 2014年04月08日 23:44
  • 428KB
  • 下载

STM32F407VG uCOS-II2.91 IAR工程 以及uCOS使用库编译的方法

在使用正点原子的STM32资料时,工程是用MDK来编译的,而我对于IAR还是比较习惯和喜欢的,因为喜欢它的编译速度和效率,编辑界面虽然没有MDK那么好看,但是编辑起来还是不错的。 我这里移植的是正点原...
  • u010406724
  • u010406724
  • 2015年07月24日 11:33
  • 1004

uCOS-II在STM32F407上移植

一、复制uCOS-II源码 1、在工程目录的uCOS-II下建立Ports和Source这两个文件夹 2、 I:\UCOS\Micrium\Software\uCOS-II\Ports\ARM-C...
  • ya24241
  • ya24241
  • 2014年12月07日 17:38
  • 1785

uCOS-II移植到STM32上的详细步骤

前言: 说点废话,网上有很多关于uCOS-ii移植的文章,好多都是千篇一律,理论性很强,分析了一大堆虚头巴脑的东西,实操性严重欠缺,这方面我也走了很多弯路,下面就将自己的移植过程一步步的记录下来,也...
  • linis_yes
  • linis_yes
  • 2016年08月28日 21:48
  • 1952

最详细的uC/OS-II 移植到STM32

前言: 说点废话,网上有很多关于uCOS-ii移植的文章,好多都是千篇一律,理论性很强,分析了一大堆虚头巴脑的东西,真想问他们,你确定你分析的这些东西是需要你做的工作吗?实操性严重欠缺。。。这方...
  • ARM_Tutor
  • ARM_Tutor
  • 2014年07月07日 15:16
  • 2524

UCOS2_STM32F1移植详细过程(一)

Ⅰ、概述 该文写针对初学µC/OS的朋友,基于以下平台来一步一步移植µC/OS嵌入式操作系统。UCOS移植相关平台: 系统平台:µC/OS-II  (最新V2.92版) 硬件平台:STM32F1   ...
  • ybhuangfugui
  • ybhuangfugui
  • 2016年06月26日 09:14
  • 11314

STM32F4 定义ucosii到CCM

STM32F4内壁192KRAM 但是很是128k普通RAM和64K CCM RAM,CCM只能内核调用,本来想着192KRAM挺好,结果仔细看悲剧了。但是也不能浪费,可以尝试使用它,把UCOS内核数...
  • louyangyang91
  • louyangyang91
  • 2016年05月31日 13:51
  • 1905

STM32 使用过程注意事项

一、IO口         1、使用的时候打开时钟,若该IO被当做外设的端口需要使能复用时钟。         2、若该端口被当做外部中断引脚也需要打开复用时钟。 二、读操作 1、当读寄存器付给某个变...
  • ye_wei_yang
  • ye_wei_yang
  • 2016年04月19日 19:06
  • 937
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STM32F4 定义ucosii到CCM
举报原因:
原因补充:

(最多只允许输入30个字)