在platform。bib下,添加某个文件,系统启动后默认会在windows下找到。
如果我想将一个文件夹放在桌面,文件夹里有几个文件,系统启动后,自动运行的程序可以对这个文件夹里的文件进行操作。
在制作nk的时候应该怎么做?
实现ROM文件系统。论坛有方法的。
但是这样nand flash盘符会看不见了。
你试试将文件夹改在
桌面目录下面
然后重新编译试试
通过platform.dat来实现
比如:Directory("\Windows\LOC_DESKTOP_DIR"):-File("TestPRO.exe","\Windows\TestPRO.exe")
可以根据这种方式把文件和文件夹放到桌面上
引用: 引用 4 楼 lan120576664 的回复:
你试试将文件夹改在
桌面目录下面
然后重新编译试试
如何改?
链接的方法,是platform.bib里的,
文件是放在windows下,然后通过连接放到桌面。
Developing an Operating System > Build System > OS Design Configuration Files > Run-Time Image Configuration Files > File System File
在pb帮助里,有一篇文章是讲.dat文件的。
可以将windows下的文件拷贝到别的目录下。但是拷贝就要占用内存了吧。我的nk也是在物理内存上。
引用: 引用 5 楼 veabol 的回复:
通过platform.dat来实现
比如:Directory("\Windows\LOC_DESKTOP_DIR"):-File("TestPRO.exe","\Windows\TestPRO.exe")
可以根据这种方式把文件和文件夹放到桌面上
的确是这么做,赞一个!
现在的问题是,只能将文件放到nk里,它将会在windows目录下出现。
如果我要做到,把几十个文件放到一个目录下,这个目录又是在windows下,这个nk要如何做呢?
前面提到的pb帮助里,在系统启动过程中,wince可以在windows下建立目录,然后将windows下的文件(你放进去的)copy到先前建立的目录下。 问题是,我用的是nk.nb0,bootloader先将整个nk拷到物理内存里,然后启动,如果后面再来一次拷贝的话,这不是占用了物理内存吗?显然不是好方法。特别是文件很大的时候。
那么直接放在windows下就好了啊。可以是可以。但还是想知道有没什么办法,可以将这些文件放在一个单独的目录下。
如果使用xip形式的话应该就不会占用过多内存了,因为windows目录下没有在使用的东西并不占用内存,没具体测试过,不确定
GetSystemMemoryDivision可以知道如何分配storage memory和program memory。
GlobalMemoryStatus可以知道program memory的size。
什么函数可以知道当前的storage memory的size。
现在我将那几十个文件放到了windows下,但是在程序调用的时候要消耗比将这些文件放在桌面的一个文件夹下更多的时间(估计也要更多的空间)。这些文件的大小总和超过了32MB。
而NK其实只有根目录和\windows.其它的都是在系统启动后根据配置来生成的。如果有文件在windows之外的话,. The only way to make a file appear outside the Windows directory is through the .dat file.而这个.dat file可以做两个工作,一个建立目录,一个是将windows下的文件拷贝到其它配置的目录下。
这样的话,和我一开始要这样做的原因,就相去甚远了。
本来这些文件是放在nandflash里的(fat文件系统),程序运行,首先要将这些文件拷贝到桌面下,然后才能进行程序的正常步骤。我想将这些文件加到nk里,这样就可以少了拷贝这个动作,当然运行的速度也不能下降,能提高最好了。但结果并不理想。
不知道各路高手,有什么建议。
引用: 引用 5 楼 veabol 的回复:
通过platform.dat来实现
比如:Directory("\Windows\LOC_DESKTOP_DIR"):-File("TestPRO.exe","\Windows\TestPRO.exe")
可以根据这种方式把文件和文件夹放到桌面上
学习了
有人是把nand分区,分一个小点的给系统专用,专门用来放一些程序,对用户是隐藏的。这样就不用放到NK,拷贝之类的操作了。
那么大的文件放在桌面上的目的是什么?仅仅是为了操作方便吗?