將應用程序移植到uCLinux下時需要注意的問題

將應用程序移植到uCLinux下時,需要注意有以下限制:
uclibc中不帶有pthread庫,要進行多線程編程,只能選擇select函數。
uclinux系統中由於內存管理的問題,沒有fork()函數,用vfork()代替,即uclinux系統中沒有真正的fork,多進程實際是使用vfork實現的,每次fork完一個進程必須執行exec,父進程等待子進程exec後才繼續運行。
uCLinux所用的Libc庫不是一個全功能的庫,而是一個適合嵌入式應用的功能有限的庫,對於一些不太常用的函數可能庫裏沒有,需要用戶自己編寫。
堆棧(stack)有限制,現在堆棧大小限制在4K字節,你可以用如下方法增加堆棧的大小:在使用elf2flt工具軟件時加上"-s"參數。
除了以上限制需要注意,在uCLinux編程和移植應用程序與在標準Linux環境下的編程方法是一樣的。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章