我比较喜欢研究和写内核,现在有一个不懂的地方,就是如何通过引导代码组织一个文件系统?
比如ubuntu,它编译后,并下载到目标板,我们可以通过串口方式,可以查阅到他内核的文件目录表,目录表项中存放着相应的系统文件、配置文件、
库文件信息等。
如果我要在ucos中实现这种功能,我应该怎么做?
那些文件组织难道要我先用一个树形结构的链表一个一个地先初始化,然后再将内核中部分API的一些信息以const的方式存放到数据存储区中,而串口
则相应地先通过一个分析机制将接收到的数据包进行解析,然后在文件组织树中找到相应的响应函数?
比如:
数据包-》----串口------》目标板;
目标板-》---命令解析器-》-----文件组织树-----》文件操作对象-----》进入相应的文件API操作----》目录表项----》文件操作---》串口----》信息反馈?
请问我的分析是否有问题?如果有,请问整个结构应该是怎样的?
另外:
动态链接库是怎么创建的?比如我动态库中string.sh文件包含函数strlen和strcat函数,请问,我应该使用string.sh时,解析器是如何找到我想要的函数的链接地址??为了方便二次开发,其中strlen等函数都被映射为一个函数指针存放到函数库中,而这个函数指针指向代码的原型,另外,函数动态链接的实现,必须要有一个函数属性描述机制,比如,传入参数、传出参数、函数名(可以将函数名转成一个ID号,用ID号索引函数属性)。如果按照我这个想法,那么动态链接库在MCU上的实现,可能就要一个一个地将函数属性记录,为后期代码维护带来极大的不便。请问有什么方便快捷的方式么???
急需了解。如何建立内核的映射文件?
|