问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

嵌入式linux和嵌入式android系统有什么区别和联系

发布网友 发布时间:2022-04-20 08:18

我来回答

2个回答

热心网友 时间:2022-05-13 17:11

嵌入式android源码架构:uboot+linux kernel+android(包含文件系统,虚拟机,UI)
嵌入式linux:这是大部分人认识的linux uboot+linux kernel+文件系统+QT(UI),
当然两者的linux 内核因为上层UI的不同会稍有差别,不过还是非常接近的,做过linux的人可以无缝切换到android底层开发,所以大家说的学习android系统,其实最重要的就是学习linux驱动,再加一下android下的专门的HAL,JNI,java等等,不过大公司android相关部分也是专门的人做的了。

甚至连QT都不用了,因为linux很多设备都是没有UI的,所以要来干啥?直接无界面,照样是嵌入式linux。

现在大家说的什么嵌入式debian,ubuntu,其实也是站在linux巨人的肩膀上,其实都不算是linux的分支,只算是linux的延伸,小变化而已。看到这里大家知道嵌入式linux的强大了吧,反正是比wince 强大N倍啊。

O(∩_∩)O~,所以啊,学习嵌入式android,其实底下就是学习uboot,linux内核啊,不会搞这些就像搞应用一样,所以大家以为android就是java,是非常片面的。

以前老的,说了一下区别,可以参考一下
ARCH -- 这是Android修改了arch/arm下面的一些文件:
arch/arm:
Chg: arch/arm/kernel/entry-armv.S
Chg: arch/arm/kernel/mole.c
Chg: arch/arm/kernel/process.c
Chg: arch/arm/kernel/ptrace.c
Chg: arch/arm/kernel/setup.c
Chg: arch/arm/kernel/signal.c
Chg: arch/arm/kernel/traps.c
Chg: arch/arm/mm/cache-v6.S
Chg: arch/arm/vfp/entry.S
Chg: arch/arm/vfp/vfp.h
Chg: arch/arm/vfp/vfphw.S
Chg: arch/arm/vfp/vfpmole.c
Goldfish -- 这是Android为了模拟器所开发的一个虚拟硬件平台。Goldfish执行arm926T指令(在2.6.29中,goldfish也支持ATMv7指令),但是在实际的设备中,该虚拟平台的文件不会被编译。
arch/arm/mach-goldfish:
New: arch/arm/mach-goldfish/audio.c
New: arch/arm/mach-goldfish/board-goldfish.c
New: arch/arm/mach-goldfish/pdev_bus.c
New: arch/arm/mach-goldfish/pm.c
New: arch/arm/mach-goldfish/switch.c
New: arch/arm/mach-goldfish/timer.c
YAFFS2 -- 和PC把文件存储在硬盘上不一样, 移动设备一般把Flash作为存储设备。尤其是NAND flash应用非常广泛(绝大多数手机用的都是NAND flash,三星的一些手机使用的是OneNAND)。NAND flash具有低成本和高密度的优点。
YAFFS2 是“Yet Another Flash File System, 2nd edition" 的简称。 它提供在Linux内核和NAND flash设备 之前高效率的接口。 YAFFS2并没有包含在标准的Linux内核中, Google把它添加到了Android的kernel
fs/yaffs2:
New: fs/yaffs2/devextras.h
New: fs/yaffs2/Kconfig
New: fs/yaffs2/Makefile
New: fs/yaffs2/moleconfig.h
New: fs/yaffs2/yaffs_checkptrw.c
New: fs/yaffs2/yaffs_checkptrw.h
New: fs/yaffs2/yaffs_ecc.c
New: fs/yaffs2/yaffs_ecc.h
New: fs/yaffs2/yaffs_fs.c
New: fs/yaffs2/yaffs_getblockinfo.h
New: fs/yaffs2/yaffs_guts.c
New: fs/yaffs2/yaffs_guts.h
New: fs/yaffs2/yaffsinterface.h
New: fs/yaffs2/yaffs_mtdif1.c
New: fs/yaffs2/yaffs_mtdif1.h
New: fs/yaffs2/yaffs_mtdif2.c
New: fs/yaffs2/yaffs_mtdif2.h
New: fs/yaffs2/yaffs_mtdif.c
New: fs/yaffs2/yaffs_mtdif.h
New: fs/yaffs2/yaffs_nand.c
New: fs/yaffs2/yaffs_nandemul2k.h
New: fs/yaffs2/yaffs_nand.h
New: fs/yaffs2/yaffs_packedtags1.c
New: fs/yaffs2/yaffs_packedtags1.h
New: fs/yaffs2/yaffs_packedtags2.c
New: fs/yaffs2/yaffs_packedtags2.h
New: fs/yaffs2/yaffs_qsort.c
New: fs/yaffs2/yaffs_qsort.h
New: fs/yaffs2/yaffs_tagscompat.c
New: fs/yaffs2/yaffs_tagscompat.h
New: fs/yaffs2/yaffs_tagsvalidity.c
New: fs/yaffs2/yaffs_tagsvalidity.h
New: fs/yaffs2/yportenv.h
Bluetooth -- Google为Bluetooth打上了patch,fix了一些Bluetooth的bug
drivers/bluetooth:
Chg: drivers/bluetooth/bfusb.c
Chg: drivers/bluetooth/bt3c_cs.c
Chg: drivers/bluetooth/btusb.c
Chg: drivers/bluetooth/hci_h4.c
Chg: drivers/bluetooth/hci_ll.c
Scheler -- 对于Scheler的改变非常小,我对它并没有去研究。
Chg: kernel/sched.c
New Android Functionality -- 除了fix一些bug以及其他一些小的更改,Android增加了一些新的功能,介绍如下:
IPC Binder -- The IPC Binder is an Inter-Process Communication (IPC) mechanism. It allows processes to provide services to other processes via a set of higher-level APIs than are available in standard Linux. An Internet search indicated that the Binder concept originated at Be, Inc., and then made its way into Palm's software, before Google wrote a new Binder for Android.
New: drivers/staging/android/binder.c
Low Memory Killer -- Android adds a low-memory killer that, each time it's called, scans the list of running Linux processes, and kills one. It was not clear in our cursory examination why Android adds a low-memory killer on top of the already existing one in the standard Linux kernel.
New: drivers/staging/android/lowmemorykiller.c
Ashmem -- Ashmem is an Anonymous SHared MEMory system that adds interfaces so processes can share named blocks of memory. As an example, the system could use Ashmem to store icons, which multiple processes could then access when drawing their UI. The advantage of Ashmem over traditional Linux shared memory is that it provides a means for the kernel to reclaim these shared memory blocks if they are not currently in use. If a process then tries to access a shared memory block the kernel has freed, it will receive an error, and will then need to reallocate the block and reload the data.
New: mm/ashmem.c
RAM Console and Log Device -- To aid in debugging, Android adds the ability to store kernel log messages to a RAM buffer. Additionally, Android adds a separate logging mole so that user processes can read and write user log messages.
New: drivers/staging/android/ram_console.c
Android Debug Bridge -- Debugging embedded devices can best be described as challenging. To make debugging easier, Google created the Android Debug Bridge (ADB), which is a protocol that runs over a USB link between a hardware device running Android and a developer writing applications on a desktop PC.
drivers/usb/gadget:
New: drivers/usb/gadget/android.c
Chg: drivers/usb/gadget/composite.c
Chg: drivers/usb/gadget/f_acm.c
New: drivers/usb/gadget/f_acm.h
New: drivers/usb/gadget/f_adb.c
New: drivers/usb/gadget/f_adb.h
New: drivers/usb/gadget/f_mass_storage.c
New: drivers/usb/gadget/f_mass_storage.h

Android also adds a new real-time clock, switch support, and timed GPIO support. We list the impacted files for these new moles at the end of this document.

Power Management -- Power management is one of the most difficult pieces to get right in mobile devices, so we split it out into a group separate from the other pieces. It's interesting to note that Google added a new power management system to Linux, rather than reuse what already existed. We list the impacted files at the end of this document.
kernel/power:
New: kernel/power/consoleearlysuspend.c
New: kernel/power/earlysuspend.c
New: kernel/power/fbearlysuspend.c
Chg: kernel/power/main.c
Chg: kernel/power/power.h
Chg: kernel/power/process.c
New: kernel/power/userwakelock.c
New: kernel/power/wakelock.c
Miscellaneous Changes -- In addition to the above, we found a number of changes that could best be described as, 'Miscellaneous.' Among other things, these changes include additional debugging support, keypad light controls, and management of TCP networking
http://www.linuxfordevices.com/c ... id-to-a-new-device/
http://hi.baidu.com/smallbigwang/item/95c99ebcb0e9544cba0e1281

热心网友 时间:2022-05-13 18:29

嵌入式linux系统是在嵌入式设备中运行linux系统。 嵌入式android系统是在嵌入式设备中运行android系统。 其区别就是android系统和linux系统的区别。 android系统的底层是linux的内核,上面跑的是android的java虚拟机。android系统的UI做的比linux好很多。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
炒股怎么买进卖出? 办一个餐饮的营业执照要多少钱 上海贷款平台有哪些 上海有什么网贷 Intel 赛扬D325 2.53G与多大频率的内存匹配 Intel 赛扬D 352(散)重要参数 CPU Intel 赛扬D 326 这个东西怎么看的? Intel 赛扬D 326(散)重要参数 Intel 赛扬D 325(盒)重要参数 Intel 赛扬D 325(盒)Intel 赛扬D 325(盒)详细参数 让嵌入式linux系统开机后不加载桌面,直接加载我的... 针对c/s架构服务器是嵌入式设备的用什么作ui自动化... 自学嵌入式开发应该先要学些什么? 嵌入式系统开发与软件开发的区别 UI设计和嵌入式哪一个更有市场? 嵌入式系统的UI设计一般都用什么软件实现?(不是... 关于寄生虫 这个寄生虫学名叫什么?在我老家那边叫草爬子,附图! 污水处理厂,镜检中出现的线虫 的学名叫什么? 一种带红色的寄生虫学名叫什么?? 十大人体寄生虫危害有多大 如何知道自己身体里有没有寄生虫?? 能寄生在人的大脑上的寄生虫是什么 寄生虫的含义是什么 桔子中寄生虫的学名叫什么? 医学上的五大寄生虫都是什么? 人身上一共寄宿着哪几种寄生虫,跳虫,蛔虫…,它们... 寄生虫的意思? 小鲫鱼肚子里发现的寄生虫,学名是什么? 人体十大寄生害虫都是什么?它们对人体都有什么害处? 关于嵌入式系统应用的程序 嵌入式就业方向有哪些? 嵌入式软件开发和PC机软件开发的的异同点 嵌入式开发要学什么,小白必备 嵌入式开发学习步骤 神经调节与体液调节 生物,什么叫神经-体液调节 酸菜香菇饺子馅的做法 冻豆腐香菇酸菜馅饺子的做法 香菇与酸菜鸡蛋一块包饺孑有无副作用? 白菜酸菜饺子馅的做法 酸菜和磨菇可以包饺子吗 酸菜馅素馅饺子怎么调馅好吃 素酸菜饺子馅做法大全 营养专家说:这几种饺子馅儿最健康 香菇和什么一起包饺子好吃 酸菜馅怎么做 立冬吃些什么 香菇可以和肉和酸菜一起妙吗 音质LDAC好还是aptx好?