これは私の最初の質問です:)。
私はしばらくの間、vxWorks 6.8 で物理メモリを仮想メモリにマップしようとしましたが、成功しませんでした。「vmMap」関数を使用しようとしていますが、どういうわけか次のように返されます:
errno = 0x30065 S_taskLib_NAME_NOT_FOUND.
私のコードは次のとおりです。
int page_size=0;
PHYS_ADDR GPIO_BASE_VIRTUAL_ADDR = 0x40E00000;
VIRT_ADDR VIRTUAL_ADDR=0;
page_size =vmPageSizeGet();
if((VIRTUAL_ADDR = (VIRT_ADDR)memalign(page_size,page_size*2))==NULL)// allocate 2 pages
{
printf("error in memalign() errno = 0x%x\n",errnoGet());
}
if(vmMap(NULL,VIRTUAL_ADDR,GPIO_BASE_VIRTUAL_ADDR,(page_size*2))== ERROR )
{
printf("Error mapping memory errno = 0x%x%\n",errnoGet());
}
どんな助けでも大歓迎です、ありがとう、
モシェ。