rtxforlinux
① RTX嵌入式系统怎么样学嵌入式先入手linux还是rtx
不知道这位朋友是学什么专业的?对嵌入式有多少了解? C语言不好的话先学C语言,C语言很好的话就要看arm体系结构及编程、gun/linux编程等书。 要学的东西很多,嵌入式不是一蹴而就的。多看看别人的程序,不过必须肯定一点,就是必须要用C语言,无论什么都是C编的。 无论做什么都要对linux内核有足够的了解,因为他们基本都是编译在一起的,因为arm的ROM空间有限,不像PC机有那么大的RAM和磁盘空间。 个人觉得还是做驱动比较好,就多看看驱动方面的程序,成品有很多(都是C语言边的,嵌入式中很少有汇编,除非必须,如bootloader的第一阶段stage1),基本都大同小异,改一改都可以用,主要是看一下他们的设计思想,前途一片光明。 还要多看看linux编程和unix编程,因为他们都支持POSIX,互相兼容,linux也是在unix的基础上发展起来的。 最主要的是持之以恒,祝你好运!!!没事call我:[email protected]
② 腾讯通 为什么不支持linux
Linux在中国用的人还比较少,毕竟Linux在使用方面跟Windows当然是比不了的。电脑稍微厉害一点的会用用Linux,但是中国人很多电脑技术都不怎么样(个人主观判断),要是费力开发LinuxQQ也赚不了几个钱。不过据说在未来腾讯还会继续支持LinuxQQ,具体的我倒不是很清楚了。
③ 建立交叉编译环境后root无法登陆linux。
你这是建立交叉编译?
只看见你复制了一堆软件包到tmp,然后解压,然后安装了个编译器.貌似也没安装,没见编译和安装啊
你既然用tar的-v参数了,就要看他的信息啊.他报什么错了么?
我用的c到arm的交叉编译环境搭建方法,你参考一下
用的软件包:
linux-2.6.9.tar.gz
binutils-2.15.tar.gz
gcc-core-3.4.2.tar.bz2
gcc-g++3.4.2.tar.bz2
glibc-2.3.5.tar.gz
glibc-linuxthreads-2.3.5.tar.bz2
东西准备好了就开始搭建
[root@binnary ~ ]# mkdir /armtools
[root@binnary ~ ]#mkdir –p ~/tars/sourcedir
[root@binnary ~ ]#mkdir ~/tars/builddir
~/tars/sourcedir这个临时目录放源文件及解压缩后的源文件。 ~/tars/builddir在这里进行编译。
/armtools把arm-linux交叉编译环境安装在这里。
首先安装binutils
[root@binnary ~ ]# cd ~/tars/sourcedir
[root@binnary sourcedir]# tar -zxf binutils-2.15.tar.gz
[root@binnary sourcedir ]# cd ~/tars/builddir
[root@binnary builddir ]# mkdir binutils
[root@binnary builddir ]# cd binutils
[root@binnary binutils ]# ../../sourcedir/binutils-2.15/configure --target=arm-linux --prefix=/armtools
[root@binnary binutils ]# make
[root@binnary binutils ]# make install
该编译过程较慢,需要数十分钟,安装完成后查看/armtools/bin目录下的文件
[root@binnary binutils ]# export PATH=/armtools/bin:$PATH
然后解压缩,配置,拷贝头文件
[root@binnary binutils ]# cd ~/tars/sourcedir
[root@binnary sourcedir ]# tar -zxvf linux-2.6.9.tar.gz
[root@binnary sourcedir ]# cd linux-2.6.9
[root@binnary linux-2.6.9 ]# vi Makefile
修改
ARCH ?= $(SUBARCH)
将$(SUBARCH)改为arm
# CROSS_COMPILE ?=(注释掉) 然后新加一行
CROSS_COMPILE ?= arm-linux-
[root@binnary linux-2.6.9 ]# make menuconfig
然后设置顺序如下(我对应的开发板上s3c2440,你的板子是什么你找什么选)
System Type --->
ARM system type (Samsung S3C2410) --->
S3C24XX Implementations --->\S3C2410(System Type->ARM System Type->/Samsung S3C2410)
[root@binnary linux-2.6.9 ]# make include/linux/version.h
[root@binnary linux-2.6.9 ]# mkdir -p /armtools/arm-linux/include
[root@binnary linux-2.6.9 ]# cp -dR include/asm-arm /armtools/arm-linux/include/asm
[root@binnary linux-2.6.9 ]# cp -dR include/linux /armtools/arm-linux/include/linux
[root@binnary linux-2.6.9 ]# cp -dR ~/tars/sourcedir/linux-2.6.9/include/asm-generic /armtools/arm-linux/include/
再下来编译gcc-3.4.2
[root@binnary linux-2.6.9 ]# cd ~/tars/sourcedir
[root@binnary sourcedir ]# tar –jvxf gcc-core-3.4.2.tar.bz2
给gcc打一个补丁,在目录gcc-3.4.2/gcc/下编辑一个文件flow.c.diff,内容如下
RCS file: /cvs/gcc/gcc/gcc/flow.c,v
retrieving revision 1.593
retrieving revision 1.594
diff -u -r1.593 -r1.594
--- gcc/gcc/flow.c 2004/07/09 03:29:32 1.593
+++ gcc/gcc/flow.c 2004/08/02 13:19:39 1.594
@@ -1865,19 +1865,22 @@
rtx set_src = SET_SRC (pc_set (BB_END (bb)));
rtx cond_true = XEXP (set_src, 0);
rtx reg = XEXP (cond_true, 0);
+ enum rtx_code inv_cond;
if (GET_CODE (reg) == SUBREG)
reg = SUBREG_REG (reg);
/* We can only track conditional lifetimes if the condition is - in the form of a comparison of a register against zero. - If the condition is more complex than that, then it is safe - not to record any information. */
- if (REG_P (reg)
+ in the form of a reversible comparison of a register against + zero. If the condition is more complex than that, then it is + safe not to record any information. */
+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
+ if (inv_cond != UNKNOWN
+ && REG_P (reg)
&& XEXP (cond_true, 1) == const0_rtx)
{
rtx cond_false
- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
+ = gen_rtx_fmt_ee (inv_cond,
GET_MODE (cond_true),
XEXP (cond_true, 0),
XEXP (cond_true, 1));
if (GET_CODE (XEXP (set_src, 1)) == PC)
用此文件给flow.c打补丁,或者依此文件直接修改flow.c(修改前请备份这两个文件),flow.c.diff该补丁用于产生crti.o和crtn.o文件。
[root@binnary gcc ]# patch flow.c –p1 < ../../flow.c.diff [root@binnary gcc ]# cd ~/tars/builddir
[root@binnary builddir ]# mkdir gcc-core
[root@binnary builddir ]# cd gcc-core
[root@binnary gcc-core ]# ../../sourcedir/gcc-3.4.2/configure --target=arm-linux --prefix=/armtools --enable-languages=c --disable-shared --disable-threads --without-headers --with-newlib
其中选项--enable-languages=c表示只支持C语言,--disable-threads表示去掉thread功能,这个功能需要glibc的支持。--disable-shared表示只进行静态库编译,不支持共享库编译。
接下来执行编译和安装操作,命令如下:
[root@binnary gcc-core ]# make
[root@binnary gcc-core ]# make install
再再然后编译安装glibc
[root@binnary gcc-core ]# cd ~/tars/sourcedir
[root@binnary sourcedir ]# tar -zxvf glibc-2.3.5.tar.gz
[root@binnary sourcedir ]# cd glibc-2.3.5
[root@binnary glibc-2.3.5 ]# tar -jxvf ../glibc-linuxthreads-2.3.5.tar.gz
然后进行编译配置,glibc-2.3.5配置前必须新建一个编译目录,否则在glibc-2.3.5目录下不允许进行配置操作,此处在~/tars/builddir/目录下建立名为glibc的目录,配置操作如下:
[root@binnary glibc-2.3.5 ]# cd ~/tars/builddir
[root@binnary builddir ]# mkdir glibc
[root@binnary builddir ]# cd glibc
[root@binnary glibc ]# vi ~/tars/sourcedir/glibc2.3.5/sysdeps/unix/sysv/linux/arm/ioperm.c
将里面的BUS_ISA改为CTL_BUS_ISA
98 static int
99 init_iosys (void)
100 {
101 char systype[256];
102 int i, n;
103 static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE };
104 static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT };
105 size_t len = sizeof(io.base);
106
107 if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
108 && ! sysctl (ioshift_name, 3, &io.shift, &len, NULL, 0))
109 {
110 io.initdone = 1;
111 return 0;
112 }
[root@binnary glibc ]# vi ~/tars/sourcedir/glibc-2.3.5/Makeconfig
把里面的-lgcc_eh都删掉
505 ifneq ($(have-as-needed),yes)
506 libgcc_eh := -lgcc_eh $(libunwind)
507 else
508 libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind) -Wl,--no-as-needed
509 endif
510 gnulib := -lgcc $(libgcc_eh)
511 static-gnulib := -lgcc -lgcc_eh $(libunwind)
512 libc.so-gnulib := -lgcc
513 endif
[root@binnary glibc ]# export CC=arm-linux-gcc
[root@binnary glibc ]# ~/tars/sourcedir/glibc-2.3.5/configure \
--prefix=/armtools/arm-linux \ --host=arm-linux \ --build=i686-pc-linux-gnu \ --with-headers=/armtools/arm-linux/include \ --enable-add-ons=linuxthreads
配置完后编译和安装 glibc
[root@binnary glibc ]# make
[root@binnary glibc ]# make install
最后编译安装gcc 的c, c++ 编译器。
[root@binnary glibc ]# cd ~/tars/sourcedir/
[root@binnary sourcedir ]# tar -jxf gcc-g++-3.4.2.tar.bz2 [root@binnary sourcedir ]# cd ~/tars/builddir/
[root@binnary builddir ]# mkdir gcc
[root@binnary builddir ]# cd gcc
[root@binnary gcc ]# unset CC
[root@binnary gcc ]# ../../sourcedir/gcc-3.4.2/configure \
--prefix= /armtools\ --target=arm-linux \ --enable-languages=c,c++ \ --without-headers \ --disable-shared
[root@binnary gcc ]# make
[root@binnary gcc ]# make install
这就算是结束了.
测试的话你到/armtools/bin下写一个c程序
例如#cd /armtools/bin
#vim c1.c
写完之后#gcc -Wall -o c1 c1.c
如果你写的c1.c里面有调用math.h的话上面的命令变为
#gcc -Wall -o -lm c1 c1.c
完成之后#file c1.c
再#file c1
两者对比一下
你会发现一个是基于ASC-II一个是基于ARM的
这就说明你搭建成功了
最后你可以把你的/armtools打个包,保存起来,以备日后使用
中间很多编译的环节时间较长,如果一切顺利的做完大概需要两个小时.要有耐心哦
P.S. 终于完了,希望对你有帮助
④ rtx是什么免费的吗哪里可以下载
是指vi编辑器吗?
vi是linux下的一个实用的文字编辑软件,可以通过插件进行功能拓展。
一般来说,都是那些偏好命令行的程序员在使用。
目前使用最广的应该是vim和gvim,vim是vi众多增强版中的一个,gvim是其图形界面版本。
具体内容,去这里看吧:www.vim.org。
⑤ 部署在Linux服务器上的即时通讯平台
方案1,在LINUX上虚拟WINDOWS,安装RTX
方案2,是使用IPMSG协议类的局域网IM软件,比如飞秋,不需要服务端,没有中心服务器。
⑥ 在linux下执行declare -A fruite_value 报错
这个和bash的version有关,不同version,declare命令支持的参数不一样
以我的环境为例,首先执行help declare,查看declare当前支持的信息,如下:
一切都是bash版本的原因!!!
建议linux中有命令不明白的时候,使用help 命令
⑦ 哪里有RTX(实时操作系统for windows)可以下载最好是免费版的
winCE好像是 微软开发的嵌入式的系统的但是不是免费的 有一定的实时性
实时分硬的和软的
应该不会运行在win上吧
是直接运行于硬件之上的吧
免费的有RTlinux,Uclinux
UCOS开源但用于商品的话要收费
很强大的是风河的,当然很贵
网络的话一大把
主要看你是用在哪方面
⑧ linux下 怎么用命令行 重启RTX腾讯通所有服务
1、安装windows的软件,第一件事当然是安装个wine
如果是Ubuntu,直接:
$sudo apt-get install wine
2、下载winetricks脚本
利用winetricks脚本安装一些RTX需要的windows的组件
$sh winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1
3.安装RTX
从RTX官网下载RTX客户端,
然后安装。
4.安装之后的RTX有个问题,就是名字的前两个字是乱码,需要配置一下wine来解决这个问题。
在菜单中选择wine->configure wine打开wine configure的对话框,选择函数库tab,在新增函数库顶替中选择oleaut32添加,然后重新启动RTX皆可。
⑨ 嵌入式Linux和RTOS的区别
RTOS:实时操作系统。
LINUX:分时操作系统,通过配置内核也可改成实时操作系统。
对于关系,可以这么说,嵌入式包含了硬件软件,而Linux是嵌入式系统软件的一种,WINCE等也属于嵌入式系统软件。