vxworks-like-kernel(rain)续

很久以前发布了一个简单的实时kernel,可惜几乎没有人有兴趣,所以就中断了。不过确实从那个项目里学到很多东西。当时发布的版本小小的留了点后门,就是把src/os的内容去掉了。是为了看哪位兄弟诚心想看的,会主动过来问我要,结果也是几乎没有人有兴趣。

今天看到一位兄弟在cnblog评论说要源码,却被我忽略了几个月没看到评论。真是相当不好意思,所以确定把所有源码发布到google code上。具体信息如下:

http://code.google.com/p/vxworks-like-kernel/

 

svn checkout http://vxworks-like-kernel.googlecode.com/svn/trunk/ vxworks-like-kernel-read-only

 

如果有人有兴趣继续开发,并且把代码写得更好,我会很欢迎的。

欢迎到这里提出问题:http://www.gandancing.com/archive/84.html

转载于:https://www.cnblogs.com/gandancing/archive/2013/03/29/2988585.html

### 回答1: VxWorks-6.9是一个实时操作系统,具有可下载内核模块(Downloadable Kernel Module)功能。可下载内核模块是一种可以在运行时加载和卸载的软件组件,可以很方便地扩展系统功能或增加新的设备驱动程序。 下载运行可下载内核模块(.o文件)的过程如下: 1. 编写或获取所需的内核模块源代码,并将其编译为目标文件(.o文件)。 2. 将目标文件(.o文件)通过FTP、TFTP或其他网络传输工具,传输到运行VxWorks-6.9的目标设备上。 3. 在VxWorks-6.9中使用提供的命令进行内核模块的加载和运行。例如,可以使用ld命令来将目标文件载入内存,并调用模块的初始化函数。 在加载和运行内核模块之前,需要确定相应的模块位置和入口点等参数。可以通过功能丰富的命令行接口来操作内核模块,命令如下: - ld <filename>:将指定的目标文件加载到内存中。 - lsSym <symbolname>:查看某个模块导出的符号。 - callFunc <symbolname>:调用符号所代表的函数。 通过这些命令,可以将内核模块成功加载到VxWorks-6.9操作系统中,并运行模块的初始化函数,从而实现相应的功能扩展或设备驱动。 总之,VxWorks-6.9具有可下载内核模块的功能,允许用户在运行时加载和卸载软件组件,从而灵活扩展系统功能或增加新设备的驱动程序。加载内核模块的过程包括将目标文件传输到目标设备上,并通过相关命令进行加载和运行。 ### 回答2: VxWorks是一种实时操作系统,可在嵌入式系统中运行。VxWorks-6.9是VxWorks系列操作系统的一个版本。在VxWorks-6.9中,可通过下载和运行可加载内核模块(Downloadable Kernel Module)来扩展系统功能。 可加载内核模块是一种动态加载到系统内核的代码,用于增加新的驱动程序、文件系统或其他系统功能。这些模块以.o文件的形式提供,使用工具链将其编译成.o文件。 下载和运行可加载内核模块可以分为以下步骤: 1. 编写可加载内核模块的源代码,并使用VxWorks提供的工具链(如GNU工具链)进行编译。编译过程将生成.o文件。 2. 将生成的.o文件移动到目标嵌入式系统上,可以通过网络、串口或其他可用的通信方式进行传输。 3. 在目标系统上使用VxWorks的命令行界面或其他管理工具进入系统。 4. 执行VxWorks命令,将可加载内核模块从外部存储器下载到系统内核中。命令可以是"ld"或"load"。 5. 检查可加载内核模块是否成功加载。可以使用"i"或"i"命令。如果成功加载,将显示已加载的模块列表。 6. 执行已加载的可加载内核模块。可以使用"->"命令,后跟模块名和参数。模块将开始执行其提供的功能。 总的来说,下载和运行VxWorks-6.9的可加载内核模块需要在目标系统上将.o文件传输到内核,并使用VxWorks命令完成加载和执行操作。这样,就可以扩展系统的功能并满足特定需求。 ### 回答3: VxWorks是一款实时嵌入式操作系统,具有强大的可定制性和高度可靠性。在VxWorks 6.9版本中,可下载的内核模块是一种将特定功能组件编译为二进制代码的方法,这些组件可以在运行时加载和执行。 首先,为了创建可下载的内核模块,需要使用VxWorks提供的开发工具链。这些工具链包括编译器、连接器和调试器等,可以通过Wind River Systems或其他渠道获得。 编写可下载内核模块的源代码后,使用工具链中的编译器将其编译为目标文件(.o文件)。在VxWorks中,目标文件通常使用GNU编译器集合(GCC)生成。 接下来,需要将目标文件(.o文件)传输到目标设备。可以使用多种方法进行传输,比如使用FTP、TFTP或串行连接。 一旦目标文件传输到目标设备,就可以使用VxWorks shell或类似的工具加载和运行该模块。在shell命令行中,使用`ld`命令将目标文件加载到内核地址空间中。 加载完成后,可以使用VxWorks提供的API或调试工具进行对该模块的调用和测试。这些API可以在VxWorks文档中找到,并采用C或其他支持的编程语言进行调用。 需要注意的是,使用可下载的内核模块应遵循VxWorks的编程规范和安全性要求,以确保系统的稳定性和可靠性。此外,编写和加载可下载的内核模块需要具备相关的嵌入式系统开发经验和知识。 总而言之,通过VxWorks提供的工具链和API,可以编写、加载和运行可下载的内核模块。这种使用二进制代码实现模块化功能的方法提高了系统的可定制性和灵活性,并为嵌入式应用提供了强大的运行环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值