|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:56 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:56 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:57 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:57 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:57 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
『第
51 楼』:
http://www.loongnix.org/cgit/
Name Description Owner Idl 名称描述所有者空闲链路
Automatic Test System 自动测试系统
LOONGAT the LOONGAT repository loongson 19 months summarylogtree loongat存储库龙芯19个月
Graphic 形象的
jpeg the jpeg repository loongson 14 months summarylogtree JPEG,JPEG存储库,14个月
libdrm the libdrm repository loongson 14 months summarylogtree libdrm存储库龙芯14个月
libpng the libpng repository loongson 14 months summarylogtree libpng存储库龙芯14个月
libxft the libxft repository loongson 14 months summarylogtree libxft存储库龙芯14个月
mesa the mesa repository loongson summarylogtree mesa存储库基于龙芯
pixman the pixman repository loongson 14 months summarylogtree pixman存储库龙芯14个月
qt the qt repository loongson 14 months summarylogtree Qt存储库龙芯14个月
qt5 the qt5 repository loongson summarylogtree qt5的qt5存储库龙芯summarylogtree
xorg the xorg repository loongson 14 months summarylogtree xorg存储库龙芯14个月
xorg-ati the xorg-ati repository loongson 14 months summarylogtree xorg - ATI xorg -ATI存储库龙芯14个月
zlib the zlib repository loongson 14 months summarylogtree zlib存储库“龙芯”14个月
browser 浏览器
chrome31 the chrome31 repository loongson 19 months summarylogtree chrome31存储库龙芯19个月
chrome39 the chrome39 repository loongson 24 months summarylogtree chrome39chrome39存储库龙芯24个月
chrome52 the chrome52 repository loongson 8 weeks summarylogtree chrome52存储库龙芯8周
firefox-mips64 the firefox-mips64 repository loongson 23 months summarylogtree Firefox - mips64 Firefox -mips64存储库,龙芯23个月
firefox24 the firefox24 repository loongson 11 months summarylogtree firefox24firefox24存储库龙芯11个月
firefox40_Release the firefox40_Release repository loongson 19 months summarylogtree firefox40 _ release存储库龙芯19个月summarylogtree
firefox45 the firefox45_Release repository loongson 8 weeks summarylogtree firefox45 _ release存储库龙芯8周summarylogtree
firefox52 the firefox52_Release repository loongson 2 weeks summarylogtree firefox52 _ release存储库龙芯2周summarylogtree
compiler 编译程序
CLANG the CLANG repository loongson 21 months summarylogtree 克朗仓库21个月summarylogtree
LLVM the LLVM repository loongson 24 months summarylogtree llvm存储库构建24个月
binutils-2.24 the binutils-2.24 repository for loongnix loongson 9 weeks summarylogtree binutils - 2.24 binutils - 2.24存储库,用于loongnix龙芯9周 summarylogtree
gcc-4.4.7-centos64 the gcc-4.4.7 repository loongson 20 months summarylogtree gcc - 4.4.7 - centos64 gcc - 4.4.7存储库的存储库20个月summarylogtree
gcc-4.8.3-fedora19 the gcc-4.8.3 repository loongson 20 months summarylogtree gcc - 4.8.3 - fedora19 gcc - 4.8.3存储库的存储库20个月summarylogtree
gcc-4.9.3 the gcc-4.9.3 repository for loongnix loongson 5 weeks summarylogtree gcc - 4.9.3为loongnix龙芯5周的gcc -4.9.3存储库
gcc4.4_loongson the gcc4.4_loongson repository loongson 20 months summarylogtree gcc4.4 _龙芯是gcc4.4_龙芯库,龙芯20个月
glibc-2.20 the glibc-2.20 repository for loongnix loongson 6 weeks summarylogtree glibc - 2.20这个glibc -2.20存储库,用于loongnix龙芯6周
kernel 核心
linux-2.6.32-el6 the linux-2.6.32-el6 repository loongson 4 months summarylogtree Linux - 2.6.32 - el6 Linux - 2.6.32 -el6存储库,龙芯4个月
linux-3.10 the linux-3.10 repository loongson 4 days summarylogtree Linux - 3.10 Linux -3.10存储库龙芯4天
linux-3.10.84 the linux-3.10.84 repository loongson 2 weeks summarylogtree Linux - 3.10.84 Linux -3.10.84存储库龙芯2周
linux-4.4 the linux-4.4 repository loongson 3 weeks summarylogtree Linux - 4.4 Linux -4.4存储库龙芯3周
qemu-2.7.0 the linux-4.4 repository loongson 5 weeks summarylogtree QEMU - 2.7.0 Linux -4.4存储库龙芯5周
media 媒体
ffmpeg the ffmpeg repository loongson 10 months summarylogtree ffmpeg存储库存储10个月
libav the libav repository loongson 10 months summarylogtree libavlibav存储库龙芯10个月
libvpx the libvpx repository loongson 5 months summarylogtree libvpxlibvpx存储库龙芯5个月
mplayer the mplayer repository loongson 17 months summarylogtree 播放器播放器库升级为17个月
openh264 the openh264 repository loongson 10 months summarylogtree openh264openh264存储库龙芯10个月
pmon ?
pmon-2HSoc the pmon-2HSoc repository loongson 17 months summarylogtree pmon - 2hsoc的pmon -2hsoc存储库龙芯17个月
pmon-loongson3 the pmon-loongson3 repository loongson 20 hours summarylogtree pmon - loongson3 pmon - loongson3存储库龙芯20小时
uboot
u-boot-2016
[ Last edited by zzz19760225 on 2017-8-5 at 13:06 ]
|
1<词>,2[句],3/段\,4{节},5(章)。 |
|
2017-6-14 01:57 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:57 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
『第
53 楼』:
深度deepin字符集
YLmf OS 编译系统
一、YBS 是什么?
YBS 指的是 Ylmf OS 的打包系统 (Ylmf OS Build System)。这是一种用于从源代码编译软件的类 ports 系统。在 Ylmf OS 中,yget 专门管理二进制软件包,而 YBS 则专门负责把源代码编译,并打包成可安装的 ypk 软件包。Ports 是 FreeBSD 使用的一种系统,它对源码包进行下载、解压缩、打补丁、编译和安装等一系列操作。一个 port 包含一些文件来指导源码的下载和编译安装,系统会自动完成操作。
YBS 由一个目录树构成,位于 /var/ybs/pbslib,它包含许多子目录,每个子目录都属于某一类别,都以相应的可创建的软件包命名。此目录并不包含软件包或源代码,相对的它包含一个 pbs 文件和 files 目录。Package Build Script (简称 pbs)是一个脚本——文本文件(包含对编译和打包过程的指示、包含源码包的下载地址等),files 目录则存放额外的一些文件,例如补丁文件等。YBS 最重要的部分就是 pbs 文件。
1、获得 YBS 树
以 root 身份运行
01.#ybs --sync
复制代码可以从服务器同步 YBS 树,git 管理。有了 YBS 树,用户可以自己定制,从源代码编译打包软件。
YBS 包含以下结构和工具的完整工具箱:
YBS 目录树: /var/ybs/pbslib,包含所有软件的 pbs 文件和相关文件
ybs 命令: 读取 pbs 文件,编译源代码并创建 ypk 包。
pbs 文件: 记录有创建软件包的指示和源代码地址。
2、YBS是用来做这些的:
从源代码编译 Ylmf OS 官方源里没有的软件,当然首先要编写 pbs 文件。
定制现有的软件包以满足你的特定需求,修改已存在的 pbs 文件,通常是开启或禁用相关配置选项
用其它编译器的 flags 重新构建整个系统 。
干净地编译安装你自己定制的内核,只需要修改内核的 pbs 文件。
当然,你也可以按照传统的方式 configure/make/make install 来安装软件,但是 ybs 可以使这个工作实现自动化。
3、全局编译环境 /etc/ybs.conf 指明环境变量和编译器的 flags。
01.$ cat /etc/ybs.conf
02.CC=gcc
03.CXX=g++
04.#CFLAGS="-march=native -mtune=native -O2 -fomit-frame-pointer -pipe"
05.CFLAGS="-march=i686 -mtune=i686 -O2 -pipe" #
06.CXXFLAGS="$CFLAGS"
07.MAKEOPTS="-j6" # make 的进程数
08.#YPINST_PREFIX="--prefix=/usr"
09.YPINST_PREFIX=
10.ACCEPT_REPO="stable" # 分支
11.#YP_I18N="en zh_CN" # 仅需要的语言,其它语言将会被丢掉
12.YPPATH_DIST_URI="http://pkg.ylmf.com/sources" # 备用的源代码下载服务器
13.AUTO_INSTALL="yes" # 编译打包成功后自动安装到系统
14.YPPATH_PACKAGE="/var/ypkg/packages" # 打包好的 ypk 包存放地址
复制代码二、 pbs 文件介绍:
1、pbs 文件的位置和命名规则是固定的。
以 leafpad 例, 运行:
01.# ybs -w leafpad
02./var/ybs/pbslib/app-editors/leafpad/leafpad_0.8.18.1.pbs
复制代码app-editors 软件类别
leafpad 软件名
leafpad_0.8.18.1.pbs 软件名_主版本号.pbs
leafpad_0.8.18.1-ylmf1.pbs 软件名_主版本号-修正版本号.pbs
2、简单的 pbs 文件:
以 leafpad 例, 运行:
01.$ cat /var/ybs/pbslib/app-editors/leafpad/leafpad_0.8.18.1.pbs
02.#
03.# YLmf_OS package build script
04.#
05.
06.DESCRIPTION="GTK+ based simple text editor."
07.HOMEPAGE="http://tarot.freeshell.org/leafpad/"
08.LICENSE="GPL-2"
09.PACKAGER="<ylmfos@115.com>"
10.
11.SRC_URI="http://savannah.nongnu.org/download/"$N"/"$N-$V$R".tar.gz"
12.
13.RDEPEND="atk cairo expat fontconfig freetype gcc glib2 glibc gtk+ libpng libX11 libXau libxcb libXcomposite libXcursor libXdamage libXdmcp libXext libXfixes libXi libXrandr libXrender pango pixman zlib"
14.BDEPEND="libpng"
15.
16.pbs_unpack() {
17. ypkg_unpack
18.}
19.
20.pbs_config() {
21. ypkg_patch desktop-i18n.patch
22. YPB_CONFIG+="--disable-print"
23. ypkg_config
24.}
25.
26.pbs_build() {
27. ypkg_make
28.}
29.
30.pbs_install() {
31. ypkg_mkinstall
32.}
复制代码运行:
01.#ybs -s leafpad
复制代码就可以查询到
运行:
01.#ybs -i leafpad
复制代码开始编译和打包 leafpad
2、ybs 可以使编译打包工作自动化,主要原因是 pbs 文件的编译规则。下面学习更为复杂的 pbs 文件。/var/ybs/pbslib/template.pbs 是一个模板,里面有详细的各个规则。
01.$ cat /var/ybs/pbslib/template.pbs
复制代码#
01.# YLmf_OS package build script
02.#
复制代码# 简单的描述,推荐用英文
01.DESCRIPTION=""
复制代码# 软件主页
01.HOMEPAGE=""
复制代码# 软件分支,testing 或者 stable, 默认是 stable
01.REPO=""
复制代码# 许可协议
01.LICENSE="GPL"
复制代码# 优先级,设置为 required,则在软件中心无法删除
01.PRIORITY="required"
复制代码# 打包者,写上自己的名字和联系方式
01.PACKAGER="Ylmf OS Developers <ylmfos@115.com>"
复制代码# 源代码包下载地址。
# $N = 软件名, 例如 leafpad
# $V = 主版本号, 例如 0.8.1
# $R = 副版本号,例如 0.8.1-rc1 中的 -rc1
支持以下 url:
01.SRC_URI="http://foo.bar.com/$N-$V.tar.bz2"
02.SRC_URI="http://foo.bar.com/$N.deb"
03.SRC_URI="http://foo.bar.com/$N.rpm"
04.SRC_URI="git://foo.bar.com/$N.git"
05.SRC_URI="git://foo.bar.com/$N"
复制代码如果已经源代码包是自己手动压缩的,复制到 $YPPATH_SOURCE(/var/ybs/sources), 则可以按照以下方式写:
01.SRC_URI=""
02.SRC_URI="$N-$V.tar.bz2"
复制代码#绝对路径
01.SRC_URI="$DIR/$N-$V.tar.bz2"
复制代码# 依赖关系
运行时依赖,ybs 会事先安装; yget install 处理二进制包时也会自动安装。
01.RDEPEND=""
复制代码推荐依赖,ybs 不处理; yget install 处理二进制包时会自动安装。
01.RECOMMENDED=""
复制代码编译依赖, ybs 会事先安装; yget install-dev 会安装,yget install 不处理
01.BDEPEND=""
复制代码可选依赖,这里只是起到一个记录的作用。
01.OPTIONAL="a: support a
02. b: support b"
复制代码冲突依赖,ybs 会在编译安装成功之后自动删除冲突包,yget install 处理二进制包时也会自动删除
01.CONFLICT=""
复制代码# 记录一些注意事项
01.NOTES=""
复制代码# 指定 desktop 和 icon 文件
01.DESKTOPFILE="glchess.desktop" or "/opt/test/test.desktop"
02.ICONFILE="test.png" or "/opt/test/test.png"
复制代码# 拆分包。注意开发包( -dev),包含头文件; 文档包( -doc) 是自动处理的。PROVIDE 支持定制的拆分包,规则由以下的 foo_install 函数来处理
01.PROVIDE="foo"
复制代码# 编译之前调用,例如某些软件需要创建用户等
01.pbs_init() {
02. #ypkg_useradd -c "$C" -d "$D" -s "$S" -g "$G" "$N"
03.}
复制代码# 自动解压源代码包,并 cd 进入解压目录
01.pbs_unpack() {
02. ypkg_unpack
03.}
复制代码# 配置编译选项
01.pbs_config() {
复制代码# 配置之前 打补丁。$FILES_PATH 是 pbs 文件所在的目录,补丁文件只要放到 $FILES_PATH/files/ 或者 $FILES_PATH/files/patches 会自动被找到。
01. ypkg_patch *.patch
复制代码# 编译选项,默认的是:
01. #YPB_CONFIG+=" --prefix=/usr
02. # --sysconfdir=/etc
03. # --localstatedir=/var
04. # --infodir=/usr/share/info
05. # --mandir=/usr/share/man
06. # --disable-static
07. # --enable-shared "
复制代码#需要额外的在这里加:
01. YPB_CONFIG+=""
02. ypkg_config
03.}
复制代码# 开始编译
01.pbs_build() {
02. ypkg_make
03.}
复制代码# 测试,一般不需要
01.pbs_check() {
02. make check
03.}
复制代码# 安装到指定目录 $YPPATH_DEST
01.pbs_install() {
02. ypkg_mkinstall
复制代码#ybs 还提供了几个工具:
# 复制 systemd 的 service 文件到 "$YPPATH_DEST"/lib/systemd/system 目录
01. #ypkg_dounit "N".service
复制代码# 复制 desktop 和 icon 文件到 "$YPPATH_DEST"/usr/share/applications 目录
01.#ypkg_dodesktop "*.desktop" "*.png"
复制代码# 复制文档文件到 "$YPPATH_DEST"/usr/share/doc/"$N" 目录
01. #ypkg_dodoc AUTHORS ChangeLog COPYING INSTALL NEWS README
复制代码# 复制时自动创建目标目录
01.#ypkg_docp "$FILES_PATH/files/XXXX" "dirname"
复制代码
01.#ypkg_domv "$FILES_PATH/files/XXXX" "dirname"
02.#ypkg_docp_rename "$1" "$2" #
03.#ypkg_domv_rename "$1" "$2"
复制代码# 链接时自动创建目标
01.#ypkg_doln "$1 "$2"
复制代码# 复制 man 文件到指定目录
01. #ypkg_doman a.1 b.2 c.3
复制代码#当 SRC_URI 后缀是 deb 或者 rpm 包时,ybs 自动解压所有文件到 data/ 目录下,这个时候只要以下命令。
01. #ypkg_docp data/* "$YPPATH_DEST"
复制代码
01.}
复制代码# 拆分包,函数名必须和 PROVIDE 一致,这个时候的 $N,$YPPATH_DEST 变量已经变成 foo
01.foo_install() {
02. ypkg_mkinstall
03.}
复制代码# 安装后执行:
01.pbs_postinst() {
02. #gnome2_install_schema "$1"
03. #gnome2_install_defaut_gconf "$1 $2 $3
04. #gnome2_rarian_sk_update
05. #gnome2_desktop_database_update
06. #gnome2_icon_cache_update /usr/share/icons/titans|titans $default is /usr/share/icons/hicolor
07. #gnome2_gconfd_reload
08. #gnome2_gtk_immodules_update
09. #gnome2_mime_database_update
10. #gnome2_gdk_pixbuf_loaders_update
11. #ypkg_dofont /usr/share/fonts/truetype/ttf-dejavu
12.}
复制代码# 删除软件包之前执行
01.pbs_prerm() {
02.
03.}
复制代码#删除软件之后执行
01.pbs_postrm() {
02.
03.}
复制代码3、更多的例子请参考 /var/ybs/pbslib
三、ybs 常用命令介绍:
搜索:
01.$ ybs -s leafpad
02.* Searching for leafpad ...
03.[I] leafpad
04. Installed: 0.8.18.1 2011-06-02,09:43:36
05. Available: 0.8.17 | 0.8.18.1
06. Homepage: http://tarot.freeshell.org/leafpad/
07. Description: GTK+ based simple text
复制代码[I] 表示已安装
s表示 stable 分支
t 表示测试分支
定位 pbs 文件,找到可用的最高版本的 pbs 文件
01.$ ybs -w leafpad
02./var/ybs/pbslib/app-editors/leafpad/leafpad_0.8.18.1.pbs
复制代码编译某个包,同时自动编译依赖包,加上 -p 参数,可以模拟执行:
01.# ybs -i -p leafpad
02.* Calculating dependencies...
03.[E] sys-libs/zlib_1.2.5
04.[E] dev-util/pkgconfig_0.23
05.[E] app-admin/gamin_0.1.10
06.[E] dev-libs/mpfr_2.4.2
07.[E] dev-libs/gmp_4.3.2
08.[E] x11-libs/xcb-util_0.3.6
09.[E] x11-libs/gtk+_2.20.1
10.[E] app-editors/leafpad_0.8.18.1
复制代码[E] 表示已安装,而且无须升级或者降级
[D] 表示此包需要降级
[U] 表示此包需要升级
已经安装的包,强制编译,加上 -F 参数,如果不加上 -p 参数会开始编译 leafpad:
01.# ybs -i -F -p leafpad
02.* Calculating dependencies...
03.[E] dev-util/pkgconfig_0.23
04.[E] app-admin/gamin_0.1.10
05.[U] sys-apps/linux-headers_2.6.37 ----> sys-apps/linux-headers_2.6.38.2
06.[E] dev-libs/mpfr_2.4.2
07.[E] dev-libs/gmp_4.3.2
08.[E] x11-libs/xcb-util_0.3.6
09.[E] x11-libs/gtk+_2.20.1
10.[EF] app-editors/leafpad_0.8.18.1
复制代码[EF] 表示已安装,但是还是强制编译
编译单个软件包,不自动编译依赖。这个方式是在已知依赖完全满足的前提下,如果不加上 -p 参数会立即开始编译 leafpad,不计算依赖。
01.# ybs -is -p leafpad
02.* Installing leafpad ...
03.[EF] app-editors/leafpad_0.8.18.1
复制代码更多选项请参考 ybs --help
四、
Ylmf OS 系统以及运行其上的软件,由无数软件包组成。而每个软件包的编译规则则由 pbs 文件控制,可以说 pbs 是 Ylmf OS 的灵魂。而 ybs 方式在某种程度上实现了自动化,同时,通过 pbs 文件,也保持了完全的透明度以及对编译安装流程的控制。
除了分享 ypk 包之外,欢迎大家提交 ybs 文件给我们,同时欢迎有能力的朋友加入开发组,我们将给你一个账户,与开发人员一起维护 ybs 树。请联系 ylmfos@115.com。
--------------------------------------------------------------------------------------------------------
FHS标准使得众多的Linux发布包有了可以遵循的标准,使得软件和用户可以预测已经安装了的文件和目录的位置。它定义了如下的内容。
定义了文件系统中每个区域的用途
定义了所需要的最小构成的文件和目录
给出了例外处理和矛盾的特殊例子
--文件名的含义
/bin, binary二进制文件,可执行的命令,非管理的命令
/sbin,管理类的命令,通常只有管理员才能使用
/lib,存放库文件
/etc,配置文件的存放位置
/etc/sysconfig,服务额外配置文件,及网络设备相关配置文件
/etc/init.d 服务管理脚本
/usr,类似于windows的program file系统日常管理软件的安装路径
/usr/include 头文件存放位置
/usr/local(安装第三方软件的路径)
/usr/local/bin
/boot,引导文件,系统启动,kernel,bootloader(grub)
/dev ,设备文件所在目录
/home,/root,用户主目录
lost+found 系统意外关机 未保存的文件
/media(挂载便携性设备),/mnt,挂载点
/misc ,杂项
/opt,option,有些第三方软件,把此目录当作默认安装位置
/proc,内存中的内核相关信息的映射
/sys,像磁盘这样的存储设备或某些总线设备的驱动程序相关属性信息;
/srv,service,服务运行中中间的存放位置;
/tmp,存放临时文件的目录
/var,
/var/log,日志文件
/var/run,pid文件
/var/mail,用户邮件的存放位置
zzz19760225@zzz19760225-PC:~$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
zh_CN.utf8
zzz19760225@zzz19760225-PC:~$ locale -m
ANSI_X3.110-1983
ANSI_X3.4-1968
ARMSCII-8
ASMO_449
BIG5
BIG5-HKSCS
BRF
BS_4730
BS_VIEWDATA
CP10007
CP1125
CP1250
CP1251
CP1252
CP1253
CP1254
CP1255
CP1256
CP1257
CP1258
CP737
CP770
CP771
CP772
CP773
CP774
CP775
CP949
CSA_Z243.4-1985-1
CSA_Z243.4-1985-2
CSA_Z243.4-1985-GR
CSN_369103
CWI
DEC-MCS
DIN_66003
DS_2089
EBCDIC-AT-DE
EBCDIC-AT-DE-A
EBCDIC-CA-FR
EBCDIC-DK-NO
EBCDIC-DK-NO-A
EBCDIC-ES
EBCDIC-ES-A
EBCDIC-ES-S
EBCDIC-FI-SE
EBCDIC-FI-SE-A
EBCDIC-FR
EBCDIC-IS-FRISS
EBCDIC-IT
EBCDIC-PT
EBCDIC-UK
EBCDIC-US
ECMA-CYRILLIC
ES
ES2
EUC-JISX0213
EUC-JP
EUC-JP-MS
EUC-KR
EUC-TW
GB18030
GB2312
GBK
GB_1988-80
GEORGIAN-ACADEMY
GEORGIAN-PS
GOST_19768-74
GREEK-CCITT
GREEK7
GREEK7-OLD
HP-GREEK8
HP-ROMAN8
HP-ROMAN9
HP-THAI8
HP-TURKISH8
IBM037
IBM038
IBM1004
IBM1026
IBM1047
IBM1124
IBM1129
IBM1132
IBM1133
IBM1160
IBM1161
IBM1162
IBM1163
IBM1164
IBM256
IBM273
IBM274
IBM275
IBM277
IBM278
IBM280
IBM281
IBM284
IBM285
IBM290
IBM297
IBM420
IBM423
IBM424
IBM437
IBM500
IBM850
IBM851
IBM852
IBM855
IBM856
IBM857
IBM860
IBM861
IBM862
IBM863
IBM864
IBM865
IBM866
IBM866NAV
IBM868
IBM869
IBM870
IBM871
IBM874
IBM875
IBM880
IBM891
IBM903
IBM904
IBM905
IBM918
IBM922
IEC_P27-1
INIS
INIS-8
INIS-CYRILLIC
INVARIANT
ISIRI-3342
ISO-8859-1
ISO-8859-10
ISO-8859-11
ISO-8859-13
ISO-8859-14
ISO-8859-15
ISO-8859-16
ISO-8859-2
ISO-8859-3
ISO-8859-4
ISO-8859-5
ISO-8859-6
ISO-8859-7
ISO-8859-8
ISO-8859-9
ISO-8859-9E
ISO-IR-197
ISO-IR-209
ISO-IR-90
ISO_10367-BOX
ISO_10646
ISO_11548-1
ISO_2033-1983
ISO_5427
ISO_5427-EXT
ISO_5428
ISO_646.BASIC
ISO_646.IRV
ISO_6937
ISO_6937-2-25
ISO_6937-2-ADD
ISO_8859-1,GL
ISO_8859-SUPP
IT
JIS_C6220-1969-JP
JIS_C6220-1969-RO
JIS_C6229-1984-A
JIS_C6229-1984-B
JIS_C6229-1984-B-ADD
JIS_C6229-1984-HAND
JIS_C6229-1984-HAND-ADD
JIS_C6229-1984-KANA
JIS_X0201
JOHAB
JUS_I.B1.002
JUS_I.B1.003-MAC
JUS_I.B1.003-SERB
KOI-8
KOI8-R
KOI8-RU
KOI8-T
KOI8-U
KSC5636
LATIN-GREEK
LATIN-GREEK-1
MAC-CENTRALEUROPE
MAC-CYRILLIC
MAC-IS
MAC-SAMI
MAC-UK
MACINTOSH
MAC_CENTRALEUROPE
MIK
MSZ_7795.3
NATS-DANO
NATS-DANO-ADD
NATS-SEFI
NATS-SEFI-ADD
NC_NC00-10
NEXTSTEP
NF_Z_62-010
NF_Z_62-010_(1973)
NF_Z_62-010_1973
NS_4551-1
NS_4551-2
PT
PT154
PT2
RK1048
SAMI
SAMI-WS2
SEN_850200_B
SEN_850200_C
SHIFT_JIS
SHIFT_JISX0213
T.101-G2
T.61-7BIT
T.61-8BIT
TCVN5712-1
TIS-620
TSCII
UTF-8
VIDEOTEX-SUPPL
VISCII
WIN-SAMI-2
WINDOWS-31J
zzz19760225@zzz19760225-PC:
[ Last edited by zzz19760225 on 2017-11-11 at 18:11 ]
|
1<词>,2[句],3/段\,4{节},5(章)。 |
|
2017-6-14 01:57 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
『第
54 楼』:
1
[ Last edited by zzz19760225 on 2017-11-11 at 18:11 ]
|
1<词>,2[句],3/段\,4{节},5(章)。 |
|
2017-6-14 01:57 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:58 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:58 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
『第
57 楼』:
1
|
1<词>,2[句],3/段\,4{节},5(章)。 |
|
2017-6-14 01:58 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
『第
58 楼』:
熊谱翔
RT-Thread实时嵌入式操作系统创始人
21 人赞同了该回答
好像有些人问到,我大体说下可能的方式。
首先一个,你学习的目的是什么?有学习最好是有实践,仅是学习没有最终的实践会很快就忘了的。所以总体的步骤是:学习,实践;实践中遇到问题,再回过头来究些细节;如此反复,终能够掌握/精通整个系统。
言归正传,说说如何有效学习RT-Thread。
0. 请预备好C语言基础知识;知道基础的C语言代码应该如何编写;写了代码,编译出错时知道如何进行修正;
1. 找一套开发板进行上手;因为考虑到代码调试的缘故,建议选择stm32或nxp lpc系列处理器的开发板。花些时间,基本上不用怎么修改代码的,把kernel + shell跑起来。<这个也是熟悉开发环境、建立工程的过程(也可以了解如何用命令行生成出Keil MDK/IAR等的工程文件)>
2. 能够把基本的kernel + shell跑起来,实际上已经进入了RT-Thread的门槛了,加个小代码,写个"Hello RT-thread\n"的打印应该是没问题了。在这个基础上,下一步就是实时操作系统学习的范畴了。经典的(实时)操作系统问题可以是两个:生产者消费者问题;哲学家问题。可以查找相应的问题描述,然后在开发板上都实现了(最好是能够以多种方式)。<通过使用RT-Thread提供的机制解决这些问题,应该基本上能够了解如何在RT-Thread中创建多任务,多任务之间同步,及任务间通信可以怎么进行等> 在这个过程中如果对操作系统一些基础知识还有不明白的地方,可以找一些书籍查看下。2017年,基于RT-Thread应该也会有一本这样的书出来,可以对照着阅读。
3. 解决了生产者/消费者、哲学家的问题,基本上应该说对RTOS已经入门了(这里可不仅仅是说RT-Thread哦)。那么接下去可以浏览熟悉、使用一些RT-Thread其他的部分,例如定时器,内存管理等,当然也有必要了解下RT-Thread的设备框架,最简单的:如何使用一个串口设备,也可以看看shell中是如何操作串口设备的。这里,那份《RT-Thread编程指南》是最重要的参考,可以好好读读,有问题大多也能在其中得到答案。<如果打算长期使用RT-Thread,其中的设备框架还是很有必要去了解(不一定说非常熟悉),因为RT-Thread的一个原则是能够以一个整体的方式来使用,相互之间能够融为一体;外围周边组件当要涉及到底层操作时都是基于RT-Thread的设备模型来进行,从而实现各个芯片平台的可移植性>
4. 了解RT-Thread的组件。RT-Thread的核心组件包括:实时内核;命令行shell;文件系统;TCP/IP网络协议栈等。再之后的,则是围绕着这些试图兼容POSIX的标准接口。按照这样的原则,针对文件系统、TCP/IP网络协议栈,RT-Thread(试图)提供的都是标准的接口,希望能够做到快速上手快速迁移,所以当使用这部分组件而不知道如何使用时,可以交叉着寻找些POSIX资料也是非常有帮助的。到了这步,实际上应该是和实践密切相关的了,没有实践,这部分也会非常快速忘掉。
学习RT-Thread的步骤基本上可以按照类似的方式来,到了第4步,则是进入到学习/使用的长期过程。前面的入门时间应该不长的,特别是有一定指导下,这个时间应该更短。以往我的经验是可以制定出一个个小任务的方式来进行,完成它快速获得实战经验。原来也编写过一份简短的《RT-Thread实验手册》,不过只有题目,没有答案,公开到网上大家多只是浏览浏览,缺少实际的动手环节。
https://www.zhihu.com/question/23147481#answer-50157520 知乎回答 怎样学习RT-Thread,感觉看起来一知半解!有什么推荐的学习方法!?
http://www.rt-thread.org 主页
http://www.rt-thread.org/book/book.html 手册
http://www.rt-thread.org/dokuwiki/doku.php?id=获取rt-thread源码
https://github.com/RT-Thread/rt-thread
RTLinux
[ Last edited by zzz19760225 on 2017-8-19 at 20:11 ]
|
1<词>,2[句],3/段\,4{节},5(章)。 |
|
2017-6-14 01:58 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
『第
59 楼』:
shawlee:
psp模拟器就是mips的,和龙芯类似。
[ Last edited by zzz19760225 on 2017-12-8 at 12:45 ]
|
1<词>,2[句],3/段\,4{节},5(章)。 |
|
2017-6-14 01:58 |
|
|
zzz19760225
超级版主
积分 3673
发帖 2020
注册 2016-2-1
状态 离线
|
|
2017-6-14 01:58 |
|