OS/vxWorks VxWorks ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ (Shared_memory_DKM.c)
  • 728x90
    ๋ฐ˜์‘ํ˜•

     

     

    ๐Ÿ“Œ VxWorks ๊ณต์œ  ๋ฐ์ดํ„ฐ์˜ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ํ•˜๋‚˜์ด์ƒ์˜ RT์—์„œ PS ์ปค๋„ ์ž‘์—…๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ Task ์‚ฌ์ด์— ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

     

    ์ตœ์ดˆ์— ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์„ฑ์‹œ OM_CREATE์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๊ณ , ์ ‘๊ทผ์‹œ์—๋Š” 0์„์‚ฌ์šฉํ•œ๋‹ค.

     

    ๐Ÿ”” ์ƒ์„ฑ

    SD_ID SdId;
    int *pValue;
    
    SdId = sdOpen(“/SharedData”, 0, OM_CREATE, 1000, 0,
    				SD_ATTR_RW | SD_CACHE_OFF, 
    				(void **)&pValue);
    
    * pValue = 0x12345678;

     

    ๐Ÿ”” ์ ‘๊ทผ

    SD_ID SdId;
    int *pValue;
    
    SdId = sdOpen(“/SharedData”, 0, 0, 1000, 0,
    				SD_ATTR_RO | SD_CACHE_OFF, 
    				(void **)&pValue);
    
    printf (“Shared data content is 0x%x\n”, *pValue);

     

     

    ๐Ÿ”” ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ 

     

    • sdOpen() ํ•จ์ˆ˜๋กœ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    • sd_write() ํ•จ์ˆ˜๋กœ ๋ฉ”๋ชจ๋ฆฌ๋งต์—์„œ ํฌ์ธํ„ฐ๋กœ ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

     

    • sd_read() ํ•จ์ˆ˜๋กœ sdMap() ํ•จ์ˆ˜๋กœ ๋ฉ”๋ชจ๋ฆฌ๋งต์— ํฌ์ธํ„ฐ๋กœ ์ ‘๊ทผํ•˜์—ฌ ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

     

     

     

    728x90
    ๋ฐ˜์‘ํ˜•

    'OS > vxWorks' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    ๋น„ํŠธ ์—ฐ์‚ฐ (๋น„ํŠธ ์ถœ๋ ฅ)  (0) 2017.07.10
    msgQOpen( )  (0) 2017.07.10
    Sem_flush.c  (0) 2017.07.10
    ์„ธ๋งˆํฌ์–ด ์ด๋ฒคํŠธ Examples(Sem_event.c)  (0) 2017.07.10
    ๋ง๋ฒ„ํผ Examples(ring_buffer.c)  (0) 2017.07.10
์ƒ๋‹จ์œผ๋กœ