linux
舞者无罪
这个作者很懒,什么都没留下…
展开
-
framebuffer属性
linux的图形界面可以通过直接向framebuffer写数据来实现,framebuffer在这个意义上就相当于显卡缓存。framebuffer包括许多属性,简单列举如下分辨率(800x600), 色深(32位),缓冲大小, 颜色模式等。今天我主要记录下颜色模式,因为这两天才发现他的作用。就如我现在的程序而言,arm板上的色深是16位,我一直没有办法从24位转换位16位,后来才发现frameb原创 2012-04-01 09:11:53 · 764 阅读 · 0 评论 -
freetype移植二
鄙人之前的一篇文章写到如何正确的编译通过freetype1-3-1,但是发现交叉编译出来的竟然是X86结构。于是又查阅了相关资料。根据网上大卡们的一些实例似乎感觉freetype1-3b版本似乎没法编译成动态库。有些人编译成了静态库。而我自己则采用了网上另一种方法,直接取出和linux相关的代码,简单编译成动态库。操作过程中没有想到这种方法及其简单,真是运气太好了。具体步骤:1. 新建原创 2015-06-01 18:54:29 · 514 阅读 · 0 评论 -
freetype的移植
1.下载freetype-1.3.1。2. 如下错误说明采用的共享夹(我是通过网络挂载的windows目录),于是将freetype的文件夹单独拷贝到linux里面。ln /share/minigui1.3.3/freetype-1.3.1/lib/arch/unix/../../ttmemory.c memory.c ln: failed to create hard link `m转载 2015-06-01 15:39:41 · 1038 阅读 · 0 评论 -
miniGui移植二
miniGui相关的库拷贝的开发板上,然后运行自己编写的helloworld原创 2014-11-07 14:35:05 · 566 阅读 · 0 评论 -
miniGui移植
项目需要,要对miniGui开源版本1原创 2014-11-05 15:33:01 · 496 阅读 · 0 评论 -
Ubuntu设置中文编码
Ubuntu 默认采用UTF8编码,可以方便global。但对中文支持,还不细致,即便默认采用中文安装,也并不会自动添加GB*等支持,致使在Ubuntu下访问部分Win文本文件时,出现乱码。I. 配置系统环境执行 sudo vi /var/lib/locales/supported.d/zh加入以下配置参数zh_CN.GB18030 GB18030 (最新汉字编码字符集,向下兼转载 2013-04-10 11:15:16 · 468 阅读 · 0 评论 -
DM9000C 驱动分析(一)
读写相关API流程及逻辑DM9000_IO DM9000C bus与 CPU总线连接,CPU分配的地址段,PIN CMD为低DM9000_DATA DM9000C bus与 CPU总线连接,CPU分配的地址段,PIN CMD为高读寄存器值static u8 DM9000_ior(int reg){先向DM9000C写入regDM9000_out转载 2013-03-12 19:05:24 · 961 阅读 · 0 评论 -
DM9000C U-BOOT驱动分析(三)
DM9000C发送数据部分static int dm9000_send(struct eth_device *netdev, volatile void *packet, int length){int tmo;struct board_info *db = &dm9000_info;DM9000_DMP_PACKET(__func__ , packet, l转载 2013-03-13 08:30:52 · 723 阅读 · 0 评论 -
DM9000C U-BOOT驱动分析(二)
初始化DM9000C流程static int dm9000_init(struct eth_device *dev, bd_t *bd){int i, oft, lnk;u8 io_mode;struct board_info *db = &dm9000_info;DM9000_DBG("%s\n", __func__);一部分初始化流程和reset流程转载 2013-03-13 08:29:21 · 1215 阅读 · 0 评论 -
linux程序重启的探索
曾经写的界面程序交给了新来的同事,突然发现每次升级之后程序都会变的比前一次慢,多升几次就很卡了,一直不明白原因。新来的只是个初学者,有了问题只能问为什么怎么弄,没有办法只能加班加点重新分析一下。升级后程序要自动重启,代码如下:1)将新的程序文件替换原来的程序文件;2)启动新的程序;3)关闭旧的程序。代码如下:update();//拷贝新程序system("./new p原创 2012-12-25 20:49:22 · 1367 阅读 · 0 评论 -
framebuffer和tty的探讨
一般的应用程序升级完毕后都必须重启自己,那么当linux程序打开framebuffer时再重启就会出现问题。因为当打开framebuffer时首先要和一个终端tty关联,比如我的本本上首次关联的是tty8.这是通过(ioctl(ConsoleFD, VT_OPENQRY, &vtnumber))查询下一个可用的tty决定的。那么本次正在使用tty8,再重启自己不就是要查询下一个tty,即t原创 2012-05-19 14:19:22 · 1029 阅读 · 0 评论 -
linux编码
1.修改文件内容的编码 conv -f utf-8 -t gb2312 aaa.txt > bbb.txt2.修改文件名的编码 convmv -f GBK -t UTF-8 -notest *.mp33.还可以安装傻瓜命令行工具enca。(具体在网上查找enca)原创 2012-05-15 14:09:08 · 385 阅读 · 0 评论 -
GNU C 与 ANSI C的区别
1.零长度数组GNU C允许使用零长度数组,定义变长度对象时比较方便struct var_data { int len; char data[0];};var_data的大小仅为一个int型,data是常量地址,data[index]是访问其后的内存空间。struct var_data *s = malloc(sizeof(var_data) + len);转载 2012-04-07 10:28:07 · 2610 阅读 · 1 评论 -
linux中断设置的技巧
echo -e "\033[?25l" 隐藏光标echo -e "\033[?25h" 显示光标其实\033(八进制,相当于10进制的27)就是所输入字符的值.echo -ne "\33[32m" 可以将字符的显示颜色改为绿色 echo -ne "\33[3;1H" 可以将光标移到第3行第1列处 具体的摘抄一些如下: \33[0m 关闭所有属性 \33[1m 设置转载 2012-04-01 10:39:02 · 599 阅读 · 0 评论 -
linux屏保之发现问题
系统一段时间后没有输入总是希望关闭LCD背光延长屏幕的使用寿命,我们目前的项目也是如此。但是一段时间后才发现我的程序在这方面做的不够好。一般个人PC中使用命令setterm -blank 0关闭屏保setterm -blank 1开启屏保。其实正确的格式为setterm -blank 【0-60】设置屏保的时间0-60.然后在arm板上是不待setterm 程序的,所以阅读相关资料得知原创 2012-04-01 09:44:38 · 929 阅读 · 0 评论 -
miniGui1.3支持ttf字体
前几篇文章已经分别讲述了miniGui和freetype的移植,本篇才是真正用到他们的时候,目的就是为了在miniGui中使用TTF字体。在编译miniGUI时打开ttf开关(--enable-ttfsupport),但是配置显示信息中ttf还是关闭的,找了相关文章说是miniGUI没有找到freetype库,可是我把相关库和头文件已经拷贝到交叉编译环境中,几经努力未果,我只能手动在“conf原创 2015-06-01 19:18:23 · 765 阅读 · 0 评论