硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2010|回复: 3
收起左侧

[emWin] 成功将二代示波器的任务栈,FIR,FFT以及各种调用频繁的变量全部由F429的CCM RAM空间提供

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-1-5 16:07:54 | 显示全部楼层 |阅读模式
全局变量已经通过结构体进行分类封装,方便申请动态内存:

  1. static void AppObjCreate (void)
  2. {
  3.         /* 创建信号量计数值是0, 用于任务同步 */
  4.         os_sem_init (&semaphore, 0);
  5.         
  6.         /* 将内部CCM SRAM的40KB全部供动态内存使用 */
  7.         os_init_mem(AppMallocCCM, 1024*40);
  8.         
  9.         /* 申请示波器通道1动态内存 */
  10.         g_DSO1 = (DSO_T *)os_alloc_mem(AppMallocCCM, sizeof(DSO_T));
  11.         
  12.         /* 申请示波器通道2动态内存 */
  13.         g_DSO2 = (DSO_T *)os_alloc_mem(AppMallocCCM, sizeof(DSO_T));
  14.         
  15.         /* 申请游标测量结构体变量动态内存 */
  16.         g_Cursors = (CURSORS_T *)os_alloc_mem(AppMallocCCM, sizeof(CURSORS_T));

  17.         /* 申请标志位结构体变量动态内存 */
  18.         g_Flag = (FLAG_T *)os_alloc_mem(AppMallocCCM, sizeof(FLAG_T));
  19.         
  20.         /* 申请触发结构体变量动态内存 */
  21.         g_TrigVol = (TRIVOLTAGE_T *)os_alloc_mem(AppMallocCCM, sizeof(TRIVOLTAGE_T));
  22.         
  23.         /* 申请FFT动态内存 */
  24.         testInput_fft_2048 = (float32_t *)os_alloc_mem(AppMallocCCM, sizeof(float32_t)*2048);
  25.         testOutput_fft_2048 = (float32_t *)os_alloc_mem(AppMallocCCM, sizeof(float32_t)*2048);
  26.         g_RMSBUF = (float32_t *)os_alloc_mem(AppMallocCCM, sizeof(float32_t)*600);
  27.         
  28.         /* 申请FIR动态内存 */
  29.         FirDataInput = (float32_t *)os_alloc_mem(AppMallocCCM, sizeof(float32_t)*FIR_LENGTH_SAMPLES);
  30.         FirDataOutput = (float32_t *)os_alloc_mem(AppMallocCCM, sizeof(float32_t)*FIR_LENGTH_SAMPLES);
  31.         firStateF32 = (float32_t *)os_alloc_mem(AppMallocCCM, sizeof(float32_t)*FIR_StateBufSize);
  32. }
复制代码


回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2018-1-7 20:28:58 | 显示全部楼层
回复

使用道具 举报

7

主题

53

回帖

74

积分

初级会员

积分
74
发表于 2018-1-9 22:03:36 | 显示全部楼层
顶!
回复

使用道具 举报

57

主题

909

回帖

1080

积分

至尊会员

积分
1080
发表于 2018-4-20 21:11:37 | 显示全部楼层
全局变量已经通过结构体进行分类封装,方便申请动态内存:
在RAM足够的情况下为啥不全弄成静态变量?  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-19 19:26 , Processed in 0.040815 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表