在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 應(yīng)用調(diào)試-----自制系統(tǒng)調(diào)用、編寫進(jìn)程查看器

            應(yīng)用調(diào)試-----自制系統(tǒng)調(diào)用、編寫進(jìn)程查看器

            作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
            把29th_app_system_callkernel里的文件復(fù)制到內(nèi)核目錄
            syscalls.h ==> include/linux
            read_write.c ==> fs/
            calls.S ==> arch/arm/kernel
            解析:當(dāng)應(yīng)用程序調(diào)用open、read、write函數(shù)時(shí)會(huì)執(zhí)行swi val指令,從而引發(fā)一個(gè)異常,就像中斷一樣,就會(huì)進(jìn)入內(nèi)核的異常處理函數(shù)里面,根據(jù)不同的val值來(lái)調(diào)用sys_open、sys_read、sys_write(虛擬文件系統(tǒng)VFS),并根據(jù)操作不同的文件屬性(C:字符型設(shè)備,主設(shè)備號(hào))在chrdev數(shù)組中找到file_operations類型的結(jié)構(gòu)體指針,通過(guò)file_operations結(jié)構(gòu)體指針找到對(duì)應(yīng)的open、read、write(first_drv_open,first_drv_write)驅(qū)動(dòng)函數(shù)??梢岳抿?qū)動(dòng)程序查看應(yīng)用程序當(dāng)中全局變量、局部變量的信息,并打印出來(lái)。
            故首先在calls.S 中:
            // 350
            CALL(sys_timerfd)
            CALL(sys_eventfd)
            CALL(sys_hello) //增加sys_hello的注冊(cè)
            再在read_write.c 中實(shí)現(xiàn)sys_hello函數(shù)體:
            asmlinkage void sys_hello(const char __user * buf, int count)
            {
            char ker_buf[100];
            if (buf)
            {
            copy_from_user(ker_buf, buf, (count < 100) ? count : 100);
            ker_buf[99] =