synchronization - Where is normal memory mappings? -


in description of qnx neutrino rtos , blackberry10 os (here) pthread_mutex_init(), said following:

you should allocate synchronization objects in normal memory mappings. on processors (e.g. ppc ones), atomic operations such calls pthread_mutex_lock() cause fault if control structure allocated in uncached memory.

i have defined mutex out of function , i'm getting 'memory fault' error while trying pthread_mutex_init(). so, i'm wondering "normal memory mappings" , "uncached memory" terms mean? should define mutex lock?

considering using arm architecture.

arm architecture supports 3 types of memory-

1 - ordered - non-cacheable

2 - device - non-cacheable ( memory mapped peripheral)

3 - normal - cacheable

as per description, supposed allocate muxtex structure normal memory. normal program execution normal memory used. problem looks unrelated this. please check memory allocation function return value.

for detailed description arm memory types, go arm website.


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -