admin 管理员组文章数量: 887629
在Windows 7系统下配置eCos开发环境时碰到一些问题,权限的问题和fork的问题,这里总结一下解决方法以便需要的朋友参考。我的环境是Windows 7 SP1,64位,中文,旗舰版,Cygwin-1.7.28 32位,eCos配置工具ecos-tools-bin-120425.cygwin.tar.bz2,GCC编译器ecoscentric-gnutools-arm-eabi-20081213-sw.cygwin.tar.bz2。
eCos官网:http://ecos.sourceware
eCos中文技术网:http://www.52ecos
eCos交流QQ群:144940146。
http://blog.csdn/zoomdy/article/details/20204735
mingdu.zheng<at>gmail<dot>com
32位 vs 64位
Windows 7有32位版本和64位版本,Cygwin也有32位版本和64位版本。Windows 7 64位版本是兼容32位应用的,所以从理论上讲Windows 7的32位版本和64位版本没有什么区别,内存超过4G的使用64位,4G以内的使用32位就可以。Cygwin 64位无法运行eCos配置工具,而Cygwin 32位可以正常运行。
eCos配置工具或GCC/GDB不工作
默认安装的Cygwin没有包含eCos配置工具和GCC/GDB所需的部分组件,在Cygwin终端运行eCos配置工具和GCC/GDB,根据提示安装缺失的组件,在Windows资源管理器中双击eCos配置工具以及在Eclipse下调用GCC/GDB只会给出含糊不清的错误提示或根本不提示,所以必须首先保证在Cygwin终端下可以正常运行这些工具。
Permission denied
编译过程产生Permission denied权限问题,打开Cygwin终端,进入eCos编译目录,使用ls -l察看文件权限,权限一列的内容为“----------”或“d---------”,这个意思是没有任何读写权限!进入eCos源代码目录察看文件权限,结果也是所有文件没有任何读写权限。
解决办法是在Cygwin终端修改eCos源代码的文件读写权限。
chmod -R 644 <repos>/packages/
权限修改好后,删除eCos的编译目录并重新生成编译目录,再重新编译就不会有权限问题了。
fork失败
编译过程出现fork tclsh失败的错误,cygwin\bin\libtcl8.5.dll: Loaded to different address,这是因为Windows 7在创建子进程时,子进程的内存布局与父进程的内存布局不相同引起的,而fork要求子进程与父进程有完全相同的内存布局。这个错误不是每次都会出现,有时候会出现有时候不会出现,如果不嫌烦就多试几次就可以。嫌烦的使用rebase工具修复这个问题:首先关闭所有Cygwin进程和服务,包括eCos配置工具和Cygwin Terminal;然后通过Windows资源管理器进入X:\cygwin\bin目录双击ash或dash(不能使用bash或其他终端模拟器),在ash/bash窗口输入rebaseall命令。
更多内容请阅读《How do I fix fork() failures?》,以及X:\cygwin\user\share\doc\rebase\README。
超级终端
Windows 7居然不再提供超级终端这样嵌入式开发必备的工具!从Windows XP下拷贝几个超级终端的必备文件到Windows 7,并放到同一个目录下,不一定要放到Windows 7的系统目录下。
- C:\Program Files\Windows NT\hypertrm.exe
- C:\Windows\System32\hypertrm.dll
- C:\Windows\System32\hticons.dll
更多内容请参考《如何在Win7中安装使用超级终端Hyper Terminal》。
版权声明:本文标题:在Windows 7下配置eCos开发环境的问题和解决方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726657811h1007146.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论