Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - 共有メモリーに後で、物理メモリー領域を割り当てるには: (1 Item)
   
共有メモリーに後で、物理メモリー領域を割り当てるには  
共有メモリーに後で物理領域を割り当てるには次の関数を用います。
ヘルプを参照すれば全体のコードを確認できます。

shm_ctl( fd, SHMCTL_PHYS, physaddr, memsize )

http://www.qnx.com/developers/docs/6.4.1/neutrino/lib_ref/s/shm_ctl.html

注意点)
memsize はページサイズのn倍にしてください。
ページサイズ以下で設定した場合、エラーとなります。

応用)
(1) ドライバーが使用している物理アドレス領域を共有メモリーとして公開して他プロセスからアクセスできるようにする。
デバッグ時に # spatch /dev/shmem/{Name} に内容を参照したり直接アクセスができます。

(2) mmapで連続メモリー領域を生成する場合、同時に共有メモリーを割り振れません。これはmmapの引数がNOFDを要求するためです。

一度、作成した連続メモリー領域を物理アドレスに変換してこの関数を呼べばアクセスしたいプロセスで名前による共有が可能となり
ます。