|
请教下创龙的兄弟们,我有一个疑问,就是在syslink视频教程 06 ImageRotation中有讲过,
% U3 u3 G0 Z" K# C" Q2 _: j"对共享内存区的管理都是通过Heap模块来管理的,每个SharedRegion在建立的时候,都可以指定是否在建立SharedRegion的时候," O* ]. c& i/ b O& W2 K1 B+ e
直接将这个堆句柄进行建立,就可以通过SharedRegion_getHeap函数取回这个堆管理的句柄"* x4 s5 w( Q7 c, B
直接在应用中调用SharedRegion_getHeap函数能够获取 句柄,说明这个共享内存应该就有了堆管理了
* `2 l$ d3 q0 D$ m* T- P- G在cfg文件中设置SharedRegion条目的属性的时候可以通过createHeap 来指定是否为该区域创建堆的布尔值。案例代码中没有设置,
5 U, A7 f! m; Q4 p# Q视频中有讲过说是默认是 创建堆。4 A, W- j$ E9 \5 {4 M0 v
不知道大家有看过TI官方案例 ex02_messageq和ex05_heapbufmp
: B( J% Y0 L" @- |6 g) E" T8 X9 q5 U在这两个案例当中都有在程序当中创建HeapBufMP堆,按理说在 SharedRegion #1当中应该都是创建了HeapMemMP堆,
3 W. _* @; l. X这样在SharedRegion #1共享内存中就有两个堆了。8 {8 P, `* B# g! c4 f
我的疑问就是:" S! b# r3 X/ d4 V$ B
1, 在同一个共享内存区当中是否可以有两个Heap?
) z( |4 y6 O! y { 2,如果有的话,在同一个共享内存区当中是如何管理的? 是SharedRegion管理的吗?
0 r9 S- \, b' n- K8 B# j' U
O7 U8 i4 _ |2 C; H' ~4 C- a
6 R$ @* [! m! E9 s谢谢!: I# k" ~( X n/ ]: ?: U6 {
3 p/ F2 e" t% h3 U5 M P |
|