在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM Linux下添加新的系統(tǒng)調(diào)用

            ARM Linux下添加新的系統(tǒng)調(diào)用

            作者: 時間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
            最近的項目需要在ARMLinux核心中添加新的系統(tǒng)調(diào)用,才能滿足項目的需要,于是乎打開google和百度去搜索,結(jié)果很不能令人滿意。結(jié)果自己只好解決!現(xiàn)將添加步驟公布如下(注:我用的核心是2.6.14.7,其他版本請讀者自行修改):
            一、打開arch/arm/kernel/calls.S,找到“#define NR_syscalls 328”這句修改之,需要特別注意的是,這里的系統(tǒng)調(diào)用數(shù)必須是4的倍數(shù)增加,否則編譯會有錯,比如:“#define NR_syscalls 332“。接下來添加系統(tǒng)調(diào)用的函數(shù)原型的指針,例如:.long sys_set_senda
            二、打開include/asm-arm/unistd.h,添加系統(tǒng)調(diào)用號的宏(個人感覺這步可以省略),例如:
            #define __NR_plan_set_senda (__NR_SYSCALL_BASE+323)
            這里的編號添加時,必須按順序來。否則會導致核心運行錯誤。
            三、實例化該系統(tǒng)調(diào)用,即編寫新添加系統(tǒng)調(diào)用的實現(xiàn),這個就是你的事了,例如:
            asmlinkage long sys_set_senda(int iset)
            {
            if(iset)
            UART_PUT_CR(&at91_port[2],AT91C_US_SENDA);
            else
            UART_PUT_CR(&at91_port[2],AT91C_US_RSTSTA);
            return 0;
            }
            四、打開include/linux/syscalls.h添加函數(shù)聲明
            asmlinkage long sys_set_senda(int iset);
            五、在應(yīng)用程序中調(diào)用該系統(tǒng)調(diào)用
            int set_senda(int isset)
            {
            register long __r0 __asm__("r0") = (long)isset;
            register long __res __asm__("r0");
            __asm__ __volatile__ ( "swit" "0x900143" "nt" : "=r" (__res) : "r" (__r0) : "lr");
            do { if ((unsigned long)(__res) >= (unsigned long)(-125))
            { errno = -(__res); __res = -1; }
            return (int) (__res);
            } while (0);
            }
            六、結(jié)束(注:多參數(shù)的情況請讀者自行研究)



            關(guān)鍵詞: ARMLinux系統(tǒng)調(diào)

            評論


            技術(shù)專區(qū)

            關(guān)閉