新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式Linux: uClinux操作系統移植

        嵌入式Linux: uClinux操作系統移植

        作者: 時間:2012-05-11 來源:網絡 收藏

        fork_init(mempages);

        本文引用地址:http://www.104case.com/article/149092.htm

        proc_caches_init();

        vfs_caches_init(mempages);

        buffer_init(mempages);

        page_cache_init(mempages);

        #ifdefined(CONFIG_ARCH_S390)

        ccwcache_init();

        #endif

        signals_init();

        #ifdefCONFIG_PROC_FS

        proc_root_init();

        #endif

        #ifdefined(CONFIG_SYSVIPC)

        ipc_init();

        #endif

        check_bugs();

        printk(POSIXconformancetestingbyUNIFIXn);

        /*

        *Wecountontheinitialthreadgoingok

        *Likeidlersinitisanunlockedkernelthread,whichwill

        *makesyscalls(andthusbelocked)。

        */

        smp_init();

        rest_init();

        }

        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        5.系統源碼的修改

        一個到新的硬件平臺,比較好的辦法是尋找一個架構相近并且已經做好的硬件平臺。然后,對原先的做一定修改。系統源碼修改的工作量取決于自行設計的硬件平臺與現有的硬件平臺之間差異程度。此設計中的硬件平臺與三星4510芯片較為接近,并且也可以下載到針對4510b的uclinux系統源碼。所以可以從此源碼入手,根據我們的硬件平臺與4510b的不同之處,在源碼中找到相應的文件并加以修改。下面介紹如何修改系統源碼。

        需要修改的系統源碼主要有如下幾處:

        (1)bootloader相關代碼。此代碼位于linux-2.4.xarcharmnommubootcompressed目錄下名為head.s的文件中。此處程序用匯編語言實現,需要修改的地方主要是設置memorymap的代碼,與memorycontroller的硬件實現相關。

        (2)UART相關代碼。UART相關代碼位于linux-2.4.xdriverschar目錄下的serial.c

        (3)定時器相關代碼。中有如下函數調用star_kernel()->time_init()->setup_timer(),需要修改setup_timer()函數中的相關代碼。

        (4)中斷控制器相關。uClinuxlinux-2.4.xarcharmnommuirq.c

        除了上述的代碼,還有其他多處需要修改。在修改源代碼時,可按照uclinux啟動和執行順序依次修改整個平臺。熟悉linux內核源碼結構對操作系統有很大幫助。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 旬邑县| 荔浦县| 贡觉县| 靖远县| 安康市| 林芝县| 南雄市| 保定市| 浦县| 哈巴河县| 齐齐哈尔市| 大埔县| 富源县| 双辽市| 凤城市| 通河县| 普兰店市| 睢宁县| 淮南市| 双鸭山市| 绥化市| 垣曲县| 温宿县| 乡城县| 高密市| 财经| 得荣县| 大田县| 抚宁县| 宜川县| 凤台县| 甘谷县| 盘锦市| 卫辉市| 青田县| 临武县| 通江县| 綦江县| 嘉黎县| 麻江县| 昌都县|