|
|
请教下创龙的兄弟们,我有一个疑问,就是在syslink视频教程 06 ImageRotation中有讲过,
/ |8 E/ r% A, i"对共享内存区的管理都是通过Heap模块来管理的,每个SharedRegion在建立的时候,都可以指定是否在建立SharedRegion的时候,+ v, t8 ?) d1 S9 T' X4 h1 Y
直接将这个堆句柄进行建立,就可以通过SharedRegion_getHeap函数取回这个堆管理的句柄"
1 Q3 p1 m+ l2 K3 \, s0 c9 s直接在应用中调用SharedRegion_getHeap函数能够获取 句柄,说明这个共享内存应该就有了堆管理了
- a: I# `3 h" F1 R. m在cfg文件中设置SharedRegion条目的属性的时候可以通过createHeap 来指定是否为该区域创建堆的布尔值。案例代码中没有设置,# h( a4 ^9 E* y8 q6 {
视频中有讲过说是默认是 创建堆。
" n: S. ]& ]/ u; |$ x, f不知道大家有看过TI官方案例 ex02_messageq和ex05_heapbufmp! r, w g. C/ i& Q8 w5 v4 \
在这两个案例当中都有在程序当中创建HeapBufMP堆,按理说在 SharedRegion #1当中应该都是创建了HeapMemMP堆,
2 Z9 F3 \& R+ T5 K: S这样在SharedRegion #1共享内存中就有两个堆了。
. g ]1 Q0 e2 r! ?" i/ l我的疑问就是:
4 u! H- w' i. H2 E. ?+ }9 a 1, 在同一个共享内存区当中是否可以有两个Heap?6 j5 p }7 o: x' [" O' q3 @
2,如果有的话,在同一个共享内存区当中是如何管理的? 是SharedRegion管理的吗?
* @* c8 Q7 E% O N5 P/ Q, C7 o
1 k6 \7 r' R% s4 N, ?) A2 [) a+ o+ i" G3 T: @) e; y: A
谢谢!
* O1 i$ J; D- k1 \# V
7 B! s3 v% t1 [ y" n2 K |
|