cpuwolf的成长笔记

通用性和性能总是矛盾,驱动程序就是这两者的折中产物
私信 关注
cpuwolf
码龄18年

Wrote a complete Unix-like operating system which included preemptive multitasking, a non-trivial filesystem, interrupt-driven I/O, and signals . 从事ARM嵌入式开发多年,bootload,kernel,driver都有较深的理解。

  • 600,707
    被访问量
  • 142
    原创文章
  • 11,626
    作者排名
  • 115
    粉丝数量
  • 于 2003-05-31 加入CSDN
获得成就
  • 获得22次点赞
  • 内容获得143次评论
  • 获得54次收藏
荣誉勋章
TA的专栏
  • Android
    16篇
  • Linux开发
    33篇
  • WinCE5内核源代码分析
    5篇
  • Window Mobile开发
    9篇
  • 嵌入式开发常识
    25篇
  • 杂想
    23篇
  • 自己的操作系统
    9篇
  • MCU单片机
    8篇
  • STM8
    7篇
  • 单片机初学者
    5篇
  • perl
  • win7
    2篇
  • win7 windbg bluescreen
    1篇
  • 服务器
    11篇
  • X-Plane飞机制造
    3篇
  • OBS直播
    12篇
  • 前端
    2篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Wireshark解析USBPCAP的USB MBIM数据包可行性

你搜遍整个google你也找不到一个截图 关于用Wireshark解析USB MBIM的数据包是什么样子的。因为这里面有坑。经过了我研究wireshark MIBM解析相关的代码。终于绕过了问题我是用的版本是Wireshark 3.4.4,成功解析USB MBIM数据包的截图...
原创
23阅读
0评论
0点赞
发布博客于 18 天前

今天收到模拟飞行平台X-Plane 11官方邮件

今天收到模拟飞行平台X-Plane 11官方邮件。主要是X-Plane 11.50版本正在经历一个长长的公测阶段,今天的版本是X-Plane 11.50b14,他们把API变成了thread unsafe API,导致我的插件XTouchDownRecorder崩溃,其实今天一大早5点,我就开始修复这个问题,做了一些结构性调整。说明插件XTouchDownRecorder,已经在模拟飞行社区有一定影响力,感谢宇宙...
原创
384阅读
0评论
0点赞
发布博客于 9 月前

linux-image-4.15.18_2.0.qmcp737c_amd64.deb

Ubuntu18.04游戏摇杆USB HID按键数量无限制内核Linux kernel测试安张包,基于官方内核版本Ubuntu 4.15.0-109.110
deb
发布资源于 9 月前

海盗船水冷风扇H80iUbuntu Linux下的降噪

sudo snap install opencorsairlinksudo snap connect opencorsairlink:raw-usbsudo snap connect opencorsairlink:hardware-observesudo opencorsairlink --device 0 --fan channel=0,mode=3Dev=0, CorsairLink Device Found: H80i GT V2!Vendor: CorsairProduct.
原创
187阅读
0评论
0点赞
发布博客于 9 月前

Ubuntu 18.04 BuildYourOwnKernel

GET SOURCEsudo apt-get install linux-sourcecd /usr/srctar xf linux-source-4.15.0.tar.bz2 -C ~/Public/cd ~/Public/linux-source-4.15.0/COMPILEcp /boot/config-4.15.0-109-generic .configLANG=C fakeroot debian/rules cleanfakeroot make-kpkg --ini
原创
96阅读
0评论
0点赞
发布博客于 9 月前

Linux内核USB HID游戏摇杆20年来都存在按键数量限制

本来是奎克质造生产的模拟飞行设备QMCP737Chttps://x-plane.vip/quickmade/qmcp737c/我在写软件,支持全平台win/lin/mac,和模拟飞行平台X-Plane 11保持一致。结果WIN/MAC对设备支持没问题,插上就可以用。但是Linux,插上也可以用,但是只剩80个按键,明明我的设备是104个按键,结果只识别出80个按键。然后用各种关键字max USB HID button number之类一顿GOOGLE搜索,无果。我记得Linus说过,
原创
276阅读
0评论
0点赞
发布博客于 9 月前

upgrade CentOS6 default mongodb from 2.4 to 3.6

upgrade CentOS6 default mongodb from 2.4 to 3.6Vultr CentOS6 default mongodb version is 2.4.14.Backup databaseAssuming you have running database on mongodb. so always backup you database before doi...
原创
171阅读
0评论
2点赞
发布博客于 2 年前

上海电信光猫超级管理员密码后门

打开 http://192.168.1.1 ,用光纤猫上的账户密码进行登录。下载 http://192.168.1.1/backupsettings.conf 。用记事本或者其他文本编辑器打开backupsettings.conf,然后查找Password,这就是你的超级管理员密码。再次打开 http://192.168.1.1 ,如果之前的还登陆着,先退出,然后用账号名为telecomadmin...
原创
32709阅读
0评论
3点赞
发布博客于 3 年前

X-Plane 11崩溃问题

X-Plane 11算是吃机器的大型模拟飞行软件。而且会安装插件,无论是飞机插件,还是其他插件,每个人都有自己的喜好,然而装着装着,你会发现飞机正在巡航,突然程序退出了。你要知道飞机冷舱启动,到爬升几乎需要1个小时准备时间,突然游戏退出,那是多么的扫兴。当我们遇到游戏崩溃时,其实真的是抓瞎。你可以有你的怀疑,你可以用你的方法去一个一个排除,但是费时费精力。你也可以去论坛一顿叫,然而不是自己问题的时...
原创
5174阅读
0评论
1点赞
发布博客于 3 年前

excel 如何比较两个表的字段相同的

=IF(ISERROR(MATCH(A1,Sheetall!$A$2:$A$3223,0)),"",A1)Sheetall是原数据的另外一个表格
原创
2505阅读
0评论
0点赞
发布博客于 3 年前

intel 2018开门红爆出存在20年的安全隐患Meltdown & Spectre

这Logo的版权是wikipage。meltdown&Spectre。作者因为写过基于intel IA架构的操作系统,虽然烂在了肚子里,但是对本人的职业生涯有着根基一样的影响。所以一听到这事,我就兴奋了,花了些时间看了看老外的解释。发现这个问题的居然是google先不谈技术,说说这事有多大影响。这么说吧,基本可以说凡是使用的intel CPU的联网的电子设备,都有可能被黑客攻击,无一幸免,
原创
810阅读
0评论
0点赞
发布博客于 3 年前

Chrome的版本历史

Chromium 37.0.2062.94对于CSS3的兼容性,Chrome版本37有戏剧性的问题
原创
2239阅读
0评论
0点赞
发布博客于 4 年前

How To Install Discuz X3.2 on the One-Click LEMP Application

IntroductionDiscuz is Internet forum software written in PHP and developed by Comsenz Inc., which supports MySQL databases. It is the most popular Internet forum program used in China.In this article,
原创
411阅读
0评论
0点赞
发布博客于 4 年前

Discuz X3.2 论坛关闭后,MySQL帖子导出为.csv

Discuz X3.2的论坛关闭了,那么数据库MySQL的帖子要是直接丢弃那就太可惜了。所以我花了一天时间,研究了一下怎么不让这些历史数据浪费。首先进入mysql,使用数据库ultraxuse ultrax;字符集的问题set names utf8;备份一下所有人的联络方式,导出为.csv数据表文件select email,username,password from pre_common_memb
原创
1081阅读
0评论
0点赞
发布博客于 4 年前

OBS网络直播间会往专业化发展

OBS网络直播间会往专业化发展,zbmate专注于网络直播间的装修
pdf
发布资源于 4 年前

未来高大上的OBS游戏直播间的参考样子

未来高大上的OBS游戏直播间的参考样子有水友的实时聊天,并且可以实时语音读出聊天有实 时投票有主播接的广告还可以倒计时
原创
1099阅读
0评论
0点赞
发布博客于 4 年前

从斗鱼顶级女主播来思考直播间画面的布局

做什么事情,都先要看做的最成功的人,再思考自己的思路。斗鱼顶级主播冯提莫,美女唱歌主播她的直播间,当然是有经纪人团队专人打理,但是万变不离其宗,还是要落实到直播画面。冯提莫的直播间画面,是采用左右布局:左侧是大主播本人,这当然是重中之重。主播是绝对重要的,其他的都是其次。右侧的区域比左侧要小很多,而且很简单,背景就是白底,上面叠加了个人的公众号:微博 和 微信。接下来,是一个taobao店,没有细研
原创
5582阅读
0评论
0点赞
发布博客于 4 年前

OBS bit rate推流比特率最佳设置

你看OBS使用中全是比特率最佳设置的问题,而且还有那么多人说出很多看似有道理的道道。 我们来看看真正的OBS官方关于bit rate是怎么说的,如下是翻译总体来说,没有一个完美的方式直接找到最佳设置,只有做实验。当然终极目标是很明确的,3500kpbs,以及最高分辨率,还是就是合理的FPS。所以没有所谓的公式,只有做实验,而且做实验很快的呀,各种值尝试一下。我的电脑的设置如下,2100以上,图像
原创
22815阅读
1评论
0点赞
发布博客于 4 年前

真正的OBS工作室版本最新消息19.0.2

OBS同时支持3个操作系统windows, Mac, Linux。所以主播可以在任意这三个平台直播
原创
748阅读
0评论
0点赞
发布博客于 4 年前

OBS Classic经典版已经不再支持

给各位主播看看,你们抱着不放的OBS Classic经典版,真正的官方OBS消息是OBS Classic (No Longer Supported)OBS Classic经典版已经不再支持,所以以后只有一个发展方向OBS Studio工作室版本
原创
3126阅读
0评论
0点赞
发布博客于 4 年前

OBS直播画面模糊怎么回事

主播,你能问出这个问题,是好事,至少说明OBS直播,已经玩起来了。那么一个小小的设置,就可以让你的画面清晰起来。就是视频比特率,以我的经验,把视频比特率设置到高于2100,以后,清晰度已经到达可以接受的程度。当然数字越大,视频清晰度越高,但是也要考虑到你的网络上行速度的感受。OBS主播进阶教程 http://blog.csdn.net/cpuwolf/article/details/7239276
原创
31709阅读
0评论
0点赞
发布博客于 4 年前

如何用OBS直播?关键的步骤能不能简化一下

国内在线的直播平台超过500家,你首先需要选择一个直播平台,例如斗鱼,熊猫,全民。你需要注册账号,还需要实名制,预计2天时间,你会有直播账号。在斗鱼,的直播间页面,上方,选择直播开启。这时页面会刷新,会给你两样东西推流密钥推流地址这是OBS直播的关键信息,而且推流密钥,每次你开通直播间,都会变。在OBS的设置,流,选择自定义流媒体服务器。因为OBS是老外设计开发的,所以预置的流媒体服务器都是t
原创
6484阅读
0评论
0点赞
发布博客于 4 年前

OBS使用常见问题

正版的OBS在哪里下载?这是OBS推流软件的官方网址 https://obsproject.com/由于墙。。。国内很多OBS用户无法下载到正中的官方版本的OBS软件,目前手头上使用的都是各家网站修改过的版本,当然植入广告也是不可避免的。下面的链接是个镜像,写文章时OBS studio工作室已经更新到19.0.2OBS studio工作室版正版zbmate.com国内镜像OBS安装上之后什么也没有?
原创
24583阅读
0评论
0点赞
发布博客于 4 年前

网络直播间装修业的崛起

有直播,就有主播,有主播,就需求去装修他/她的直播间。 关于对直播行业的整体思考,我认为和房地产建筑环节有些类似,可以说有异曲同工之妙。 中国世面上超过500家直播平台,就像是地产界的房地产商,他们提供直播间,由于国家背景,需要实名制。
原创
4014阅读
0评论
1点赞
发布博客于 4 年前

OBS斗鱼直播弹幕插件效果

我没有安装任何OBS插件,一样达到了美化版弹幕效果
原创
6244阅读
2评论
2点赞
发布博客于 4 年前

免费屏幕录制程序都不用

说到屏幕录制,很多人会想到付费的Fraps。。。之类的随着近些年直播的流行,一个开源免费工具横空出世OBS (Open Broadcaster Software)OBS的真正官网是https://obsproject.com/但是如果你用百度baidu搜索OBS,你会找到一大推修改版本的OBS,并非是真正纯净官方版,尤其高概率会找到直播网站给你的所谓OBS,其实那些都是修改过的版本已经告诉你真正的O
原创
1278阅读
0评论
0点赞
发布博客于 4 年前

OBS完美直播弹幕效果主播教程

进入正题之前,先回答2个问题:您是斗鱼,熊猫,全民,板栗主播?您用OBS,Xsplit直播?如果上面的关键字,你都不熟悉,说明这个教程可能不适合您。为什么要继续往下看?先看直播弹幕效果下面是直播录像的截图。再说一遍,是录像。主播,你的直播录像能看见水友当时和你说的话么? 屏幕的右侧中部白色字体,是水友的弹幕聊天。效果还可以不? 其实它有很多动画效果,截图看不出来。现行的实现方法?前提
原创
65927阅读
2评论
2点赞
发布博客于 4 年前

How To Install Discuz 3.2 on the One-Click LEMP Application

How To Install Discuz 3.2 on the One-Click LEMP Application# IntroductionDiscuz is Internet forum software written in PHP and developed by Comsenz Inc., which supports MySQL databases. It is the m
原创
517阅读
0评论
0点赞
发布博客于 5 年前

一幅图掌握blender 3D的快捷键

blender 3D你要是不会快捷键,你说你会blender,没人回信。因为那是不可能的。快捷键可以加快我们的制图速度
原创
4644阅读
0评论
0点赞
发布博客于 5 年前

X-Plane 10 wing flex dataref

DataRefleft wing 3Sim/flightmodel2/wing/wing_tip_deflection_deg[4]right wing 3Sim/flightmodel2/wing/wing_tip_deflection_deg[5]index means0 Left wing 11 Right wing 12 Left win
原创
925阅读
0评论
0点赞
发布博客于 5 年前

Discuz如何删除内部插件

Discuz的内部插件是无法直接删除的,你需要在后台操作一下数据库 select * from pre_common_plugin;找到你要删除的插件id delete from pre_common_plugin where pluginid=12;
原创
1346阅读
0评论
0点赞
发布博客于 5 年前

用python解决你的实际问题,忘记语言吧

我在思考一个问题。软件是为人服务的,而人的需求一直在变。什么东西能快速适应这种需求的变更。本人从汇编玩到C,总觉得这些底层的东西吧~~强大是强大,但是用起来费劲,而且分散你的经历,不能把精力放在应用上,很多精力会分散在语言本身。想象一个场景,科研人员在研究蛋白质折叠,需要显示个界面,甚至动画,但是重点是后面的运算,科研人员完全没必要先学完C语言,再开始搞他的科研,这是精力浪费。
原创
2625阅读
0评论
1点赞
发布博客于 5 年前

井底之蛙的新发现LEMP

前面才弄出个LAMP=Linux+Apache+MySQL+PHP。才发现Apache已经过时了。昏倒如今已经进入了LEMP时代,国内喜欢叫LNMP=Linux+Nginx+MySQL+PHP,其实老外叫LEMP,这个中间的E,来自于Nginx的读音Engine X。你也看出来两者唯一的区别Nginx vs. Apache。
原创
1000阅读
0评论
0点赞
发布博客于 6 年前

LAMP网站性能优化

除了硬件,需要花钱的东西,我们不谈。今天来谈谈免费的,服务器端软件的优化,我们需要借助一些分析工具。其中最好用的,要属Firefox自带的网站开发工具inspector,直接上图优化前我们注意Time是321秒的页面加载速度优化后Time在网页缓存的情况下仅用了2秒,而全新刷新也只用了16秒演示网站Simflie中国模拟飞行网
原创
1177阅读
0评论
0点赞
发布博客于 6 年前

Discuz 3.2接入支付宝担保交易

支付宝双功能收款,已经不再支持,取而代之的是支付宝担保交易。而Discuz 3.2仅支持双功能收款,这种已经不再支持的服务那么我们就该修改支付代码吧,希望你用的是VIMvim api/trade/api_alipay.php输入命令替换所有的trade_create_by_buyer,为create_partner_trade_by_buyer:%s/trade_create_by_buy
原创
3597阅读
0评论
0点赞
发布博客于 6 年前

编程不能太局限,我们可以做的事情很多

本人除了是IT从业者,更重要的是我也是大家俗称的“飞友”,围绕着“模拟飞行”这四个字也已经三年了。一开始听说拉登幢大楼的飞行员都是通过Microsoft Flight Simulator训练的,我就对这个FSX产生了浓厚的兴趣,这软件如此厉害?!其实FSX我大学里也有过一面之缘,这是面对着复杂的仪表,完全不知所措,在大学时就放弃了。谁知时隔10年,我又无意中撞上了这个软件,一往就是3年了。泡泡
原创
1453阅读
0评论
0点赞
发布博客于 6 年前

64bit CentOS搭建基于LAMP架构的discuz 3.2论坛

LAMP=Linux+Apache+Mysql+PHP安装Apache web服务器yum install -y httpd安装数据库服务器yum install -y mysql mysql-server安装PHPyum install -y php php-common php-mysql php-gd安装PHP优化,此优化能提速几倍的速度yum insta
原创
2518阅读
0评论
0点赞
发布博客于 6 年前

64位原子操作add

64位原子操作的加法的实现。只有看汇编才能理解1100306:80b5ef20 :1100307-80b5ef20: 53 push %ebx1100308-80b5ef21: 89 d8 mov %ebx,%eax1100309-80b5ef23: 89 ca
原创
2338阅读
0评论
0点赞
发布博客于 6 年前

IA32 gnu assembly 32 bit instruction pretend to be 64 bit instruction

.code32.byte 0x48xorl %eax, %eax等同于64位代码 .code64xorq %rax, %rax利用这个特性,你可以轻松伪造出64位的代码
原创
743阅读
1评论
0点赞
发布博客于 6 年前

IA32 MMU paging初始化代码

写了一段IA32 paging通用构造代码,有需要的,可以拿去
原创
1446阅读
1评论
0点赞
发布博客于 7 年前

解决Atheros蓝牙导致Windows 7 64位蓝屏

刚安装了Windows7 64位系统,让人痛苦的是新系统以大概每天一次的概率随机发生蓝屏。终于我决定自己找到问题根源。系统在发生问题的时候,会产生.dmp文件。余下的任务就是分析.dmp文件1. 安装WinDbg 64位2. 选择网速比较快的时候3. 用WinDbg打开.dmp文件输入命令.sympath SRV*c:\symbols*http://msdl.microsoft
原创
8373阅读
0评论
0点赞
发布博客于 7 年前

Ubuntu bootloader Grub2的最简单配置方法

安装Grub Customizersudo add-apt-repository ppa:danielrichter2007/grub-customizersudo apt-get updatesudo apt-get install grub-customizer剩下的就是图形界面了
原创
3135阅读
0评论
0点赞
发布博客于 8 年前

Windows枚举出系统中所有的串口的9种方法

CreateFile("COM" + 1->255) as suggested by Wael Dalloul✔ Found com0com ports, took 234ms.QueryDosDevice()✔ Found com0com ports, took 0ms.GetDefaultCommConfig("COM" + 1->255)✔ Found com0c
翻译
4798阅读
0评论
0点赞
发布博客于 8 年前

Ubuntu内核调试技巧

有时候在Ubuntu上开发一个PC驱动,结果导致了系统崩溃。Ubuntu 12.04测试中,发现系统默认是打开了内核转储的能力
原创
2919阅读
0评论
0点赞
发布博客于 8 年前

上课不听讲下课来补习系列之-玩转单片机STM8(二)

现在学习STM8,由于ST已经提供标准驱动库函数,对C语言能力要求已经很弱了,只要上过大学C语言课程,都可以进行编程。但是我建议大家把C语言学深点。它的核心就是指针,玩转指针,就玩懂了C语言。它的其他功能和其他语言没有任何差别。只是逻辑控制而已。能把C的指针真正弄懂,你还不得不学习一下机器语言,万变不离其宗。见多识广,千万不要怀疑自己大脑的记忆能力,也不要认为多学会学混,我的经验是,学得越多,
原创
2048阅读
0评论
1点赞
发布博客于 8 年前

perl缺失的一个小功能normalize path

我在处理strace输出的log时,遇到一个问题,log中记录的打开的文件名"../../c/../m"是这样的,其中c是一个symbolic link。我期望它能转换为绝对路径,但是不要帮我翻译symbolic link。就这个小功能,可是让我尝试了好几天。说到这里,可能很多回想abs_path()不就行了么。错!abs_path()会真正的访问文件系统,所以会将symbolic lin
原创
2022阅读
0评论
0点赞
发布博客于 8 年前

上课不听讲下课来补习系列之-玩转单片机STM8(一)

最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。因为直到今天,计算机系统的那些事,也没逃离这个最基础的架构。可惜我当年直接跳过了这个过程,直接从intel 486学起的,那时每天带着无数的疑问在艰难的前行。单片机不一定要学习51,其实随便选一家都是一样的。从实际出发要选,便宜的,外围器件少的,里面功能的,所以为大家挑选了STM8L。STM8L是个8位单片机,我在论坛中的确看到一些
原创
2357阅读
0评论
0点赞
发布博客于 8 年前

Atomthreads STM8L cpuwolf 1.0

RTOS STM8 Atomthreads
gz
发布资源于 8 年前

二元一次方程在呼吸灯上的应用

我一直想用一个简单的表达式把呼吸灯效果表达出来。搜索了一下,大家都是千篇一律。我看稍微有点想法的也是说用sin(x)函数实现,还有人说有matlab。我只是想说,对于一个2MHz的单片机,你们的要求太高了。我只是追求用最简单,而且运算量不大的C代码实现。抛物线函数足够了,开口向下的,还要过原点(0,0),因为起始灯是熄灭的。二元一次方程最适合。参数a,b,c的c=0,因为过了原点。
原创
5134阅读
3评论
1点赞
发布博客于 8 年前

STM8的wait for interrupt

如果我用disable interrupt和enable interrupt包裹wait forinterrupt(WFI)。你说WFI还能被唤醒么?有思考过么?昨晚拿STM8L151K4的开发板,实际测试下来。这样的用法是完全没问题的。由此我猜测芯片内部,core应该会专门有一根信号线唤醒sleep状态的core,这根信号不受interrupt disable影响。这个实验对控制睡眠唤醒
原创
3661阅读
0评论
0点赞
发布博客于 8 年前

STM8L最小系统板移植Atomthreads成功

终于花了一天时间把atomthreads1.3移植到了STM8L151K4。由于之前有了移植STM8S的经验,这次整个过程清晰了很多。并且我也安装了STVP+COSMIC编译环境,因此这回也更加注重代码在不同编译器的兼容性。原版Atomthreads1.3的port目录下有点乱,所有编译器的相关文件都放在同一个目录下,我同样对目录结果进行了调整。让代码看起来更易读。同时,原作包括的意法半导体的
原创
8478阅读
23评论
0点赞
发布博客于 8 年前

USB 2.0 suspend resume

suspend/resume时代USB2.0在定义最初就支持suspend/resume看一看见,退出suspend的时间要求是大于20ms。同时也可以看出D+, D-信号反转一下,既是触发resume流程,随即USB HOST需要拉出一个START信号,USB的通讯就彻底恢复了。LPM时代随后USB org认为这个简单的suspend/resume不能优化USB的功耗
原创
8857阅读
0评论
1点赞
发布博客于 8 年前

取出真正编译到的代码

经常一个大型的软件工程,里面包含甚至上GB的文件,然后根据不同的编译选项,实际只会编译到其中的一部分文件。你如何知道那些文件真正的在build过程中别用到了。我之所以改用build这个字眼,没有使用编译,这个词,是因为build过程,不只会包括编译,也时候是脚本处理,也时候是执行一些工具处理一些文件。这整个过程叫build最典型的例子,一个Linux内核,支持各种体系结构,你如果知道哪些文件你
原创
1768阅读
0评论
0点赞
发布博客于 8 年前

Atomthreads关于STM8S低功耗的思考

atomthreads像众多操作系统一样,在没有任务调度是会调用idle,atomthreads中atomIdleThread()是以线程的形式存在,也就是最低优先级线程。作者默认没有填写这个函数。针对STM8我们最自然想到的是在其中加一个wfi,STM8进入wfi模式几乎不会影响任何外设的运行。以STM8S105K4为例,其进入该模式的典型电流是1.8mA。这个电流,用一节2000mA手机供电,
原创
10421阅读
5评论
0点赞
发布博客于 8 年前

STM8的福利--Atomthreads实时操作系统

Atomthreads是开源的实时操作系统。诞生之初就是给STM8s设计的,而且作者还在不断更新,我看最近的主要修改是加入更多MCU的支持。算法上没有变化。所以我取了1.3的版本,足够用了。我使用的是STM8S105K4的最小系统。有16K flash可以使用。这个大小放下原生的atomthreads是够的。这个实时系统包含了操作系统所有最基本的接口mutex,semaphore,timer,
原创
16645阅读
18评论
2点赞
发布博客于 8 年前

找回失去的青春--玩单片机STM8

把失去的青春补回来!你以为我要说离开IT业?常被人说成“IT刁丝”,“IT民工”,我不以为然。不仅如此,我为做IT而骄傲。看看我们身边的产品,无不与IT有着密切的关系。你说你平时不用电脑。OK,你平时可以不用手机么?你知道手机是“IT刁丝”搞出来的么?再退一步,你说你也不用手机。OK,超市你去不?收银员用的收银机是“IT刁丝”搞出来的。你说你是搞金融的,不是碰IT,错,金融业的后台服务器,同样
原创
5988阅读
3评论
1点赞
发布博客于 8 年前

Linux kernel 3.8加入MBIM的支持

引言What is new in Linux kernel 3.8?NetworkingThe cdc-mbim driver, which supports broadband modems that implement Mobile Broadband Interface Model (MBIM⁠⁠) 1.0, specified⁠ by the USB Implementers
原创
9663阅读
0评论
0点赞
发布博客于 8 年前

Linux kernel patch提交成功

总共花费3周的时间,终于把补丁提交上去了。这次的经历让我明白坚持的重要性,没有人会对你的补丁负责,你需要去推广,去说服这些维护者,当然途中也是遇到高手相救。每个补丁的修改都是如此的严格,这也是为什么,Linux发展多年来为什么会越来越好。补丁总共提交了5次,不乏自己没经验犯下的愚蠢错误。耗时3周,你每次发从邮件,需要等待有人回复,这是个漫长的过程,耐心是少不了的。David Miller
原创
1741阅读
1评论
0点赞
发布博客于 8 年前

ARM切换到THUMB模式

ARM切换到THUMB模式,根据ARM的文档说是用一个跳转完成,并且跳转地址要存储在general register里,地址中最地位为0。我一向喜欢眼见为实。最简单就是看看编译后变成什么样子,下面是一个叫ab的函数,开thumb编译的,结果就变成了下面这样:E28FC001 $Ven$AT$I$$ab: add r12,pc,#0x1E12FFF1C bx r12B510 ab: push {r4,r14}
原创
2570阅读
0评论
0点赞
发布博客于 10 年前

4-bit ECC in software is unacceptable

Clearly 4-bit ECC in software is unacceptable.
转载
2281阅读
0评论
0点赞
发布博客于 10 年前

I2C timing pattern


用google搜索了I2C,想找个真实的I2C的时序图,怎么也找不到。今天自己贡献一个一副图,自己抓得真实的,包括了I2C spec所有的协议信号的样子。包括start, restart,stop,ack,nak,write,read
原创
5220阅读
1评论
0点赞
发布博客于 10 年前

Android Touch Calibration解决方案

续2009年11月11日发了《Android Touch Calibration解决方案》之后,陆续有些朋友在发邮件过来询问。那篇文章主要是推销我的成果,我不想挣所有人的钱,所有希望能解释给有研发能力的人一些提示。自由软件tslib已经可以解决android touch calibration的问题,但是它太“不地道”,属于原生态Linux的。对于android我们当然需要的是原生于android的程序。可以推测
原创
5927阅读
1评论
0点赞
发布博客于 10 年前

网购内存条经验谈

在淘宝购买内存条是有风险的。不过甭管它的货源来头,能和你的电脑兼容,价格便宜那就是王道。最难的就是确定它的兼容性,所以最好选择有“7天退换”的卖家。这样你就有7天的测试时间。安装到电脑上,进行测试。我提醒你不要立即进入你的windows系统进行测试,因为windows注册表在运行的时候多都是内存存取,万一你的内存条有问题,紧接着就是你的注册表被破坏,系统无法启动。所以一定不要直接进系统。因此,在测试之前你需要准备一张fedora Live CD,我就是刻录了一张Fedora14 Live CD,它在启动时有
原创
2597阅读
1评论
0点赞
发布博客于 11 年前

PC---我错过了好几年


最近准备装配一台台式机,盯上了intel H55 chipset。发现现在的主板不再有南北桥之分,一个CPU+H55 chipset就完毕了,集成度越来越高了!南北桥改名为platform controller hub,这个还真不知该怎么翻译,最后搜索了一下,发现一些网站已经开始使用“平台控制单元”这个名字了,我想这个名字未来会越来越响亮的。
看了一下H55的技术文档,发现H55 PCI bus不再内置兼容考虑的ISA bus。IDE也开始消失,取而代之的是SATA host cont
原创
940阅读
2评论
0点赞
发布博客于 11 年前

备份一个Linux系统硬盘 II

可是随着原系统的运行和发展,这两个硬盘的内容的差距也会越来越大
原创
774阅读
0评论
0点赞
发布博客于 11 年前

备份一个Linux系统硬盘 I

假设你有一个Linux系统已经可以正常工作,现在想复制一个系统出来到另外一个硬盘上以备系统崩溃时开可以立即启用这个备份硬盘,以至于不影响系统的运行,同时这块备份硬盘可能与原系统的硬盘大小不一致。
原创
2403阅读
0评论
0点赞
发布博客于 11 年前

Android Solution之我见

Qualcomm在Android硬件平台上几乎占据了100%的市场。从这件事可以验证一点,CPU厂商要把更多的注意力,放在软件支持上。在严酷的半导体行业竞争背景下,硬件的差异性表现的越来越不明显,而如果此时,能提供更加完整的软件整体解决方案,势必对扩张自己的市场有着非常积极的意义。就像老大Intel那样,他们早就开始意识到软件的重要性,推出了很多自己的软件,包括intel compiler
原创
903阅读
1评论
0点赞
发布博客于 11 年前

Android设备屏幕问题

Android毕竟是一个小型的嵌入式系统,里面所有的应用都是按竖屏幕设计的,因此我强烈建议设计的Android机器最好是以竖屏幕为主,偶尔一些特殊应用,比如导航等,再旋转屏幕成横屏使用。
原创
853阅读
1评论
0点赞
发布博客于 11 年前

坚定要贡献下去

无意在网上乱搜,发现下面的bloghttp://space.oss.org.cn/space.php?uid=3&do=blog&id=191发现自己成为了对Linux kernel贡献的华人中的一名。统计是从2005年4月至今,一共有259个华人贡献过补丁,自己成为了其中的一员。说实话,真的有点激动!同时也发现华人只有259人,这个数字真是少的可怜,而且绝大多数都是大公司的支持。很荣
原创
1252阅读
6评论
0点赞
发布博客于 11 年前

Android 版本信息如何查看

在没有Git的帮助下想查看android的版本信息还真是不太容易定义在build/core/version_defaults.mk文件中。由关键字PLATFORM_VERSION PLATFORM_SDK_VERSION
原创
6467阅读
1评论
0点赞
发布博客于 11 年前

SAMSUNG SOC SD IROM writer for Linux

已经测试过在Fedora10上运行顺利,需要root权限才可以执行#! /bin/bash# written by cpuwolf@gmail.com 2010mountpt=/media/diskdevicename=sdbsdcard=/dev/$devicenameif test $# -le 0 ; then echo "Error: needs IROM
原创
1306阅读
0评论
0点赞
发布博客于 11 年前

WinCE Eboot中加入Linux boot的支持

Index: flash.c =================================================================== --- flash.c    (revision 1804) +++ flash.c    (working copy) @@ -26,6 +26,8 @@ #include "ebootnand.h"
原创
1188阅读
0评论
0点赞
发布博客于 12 年前

Android ADB usb

Android ADB通讯的USB设备的结构包含2个interface,分别是:1. mass storage2. transport xxx共需要4个bulk pipes。mass storage需要1个IN,1个OUT.trasport xxx也需要1个IN,1个OUT.
原创
1205阅读
0评论
0点赞
发布博客于 12 年前

ARM Linux Driver how to work with DMA

下面是arm linux中一个申请DMA buffer的例子,DMA需要uncached virtual address space,同时映射的物理内存需要是连续的,所以需要特定的函数来帮助我们。 info->data_buff = dma_alloc_coherent(&pdev->dev, MAX_BUFF_SIZE, &info->data_buff_phys, GFP_KER
原创
1473阅读
0评论
0点赞
发布博客于 12 年前

Philips TEA5761 Radio Linux driver for N800

AM/FM Radio driver patch for N800. Compile Tested Only. Please test ifone has access to N800.From: Trilok Soni soni.trilok at gmail.com>Date: Fri, 16 Feb 2007 00:09:08 +0530Subject: [PATCH]
转载
915阅读
0评论
0点赞
发布博客于 12 年前

Add TEA5764 Linux radio driver

 From: "Fabio Belavenuto" To: video4linux-list@redhat.comSubject: [PATCH] Add TEA5764 radio driverDate: Wed, 17 Dec 2008 20:49:33 -0200Add support
转载
2083阅读
0评论
0点赞
发布博客于 12 年前

C51控制FM Radio---NXP TEA5766

===============================程序开始是参考OURAVR网友的例子成功收到台,由于程序生成的hex文件太大,2051装不下,只是放在博客发表,一直没有时间整理出来。后来深圳市广视美电子有限公司的老姜发了一份SP3767的参考代码给我,通过学习SP3767的代码,发现许多好的思路和方法,结合我自己开始写的的程序,修修改改改成了现在的程序。===
转载
1661阅读
0评论
0点赞
发布博客于 12 年前

MLC NAND

MLC NAND可以用“便宜没好货”来形容。它的page有一对的说法,根据这个表,加入page 0坏了,那么page 4就很有可能也被损坏。 所以基于MLC NAND的文件系统,需要针对这样的表格,进行优化。
原创
921阅读
0评论
0点赞
发布博客于 12 年前

Linux kernel PWM abstraction

Linux kernel定义了pwm.h 并声明了 struct pwm_device; 但是没有该结构体的,具体定义,也就是说这个机构体的具体定义可以根据arch的不同而不同。 同时声明了一些函数: pwm_request pwm_free pwm_config pwm_enable pwm_disable 这些函数很好的抽象了pwm的功能,一次arch的实现者,不要忘记这样
原创
1812阅读
0评论
0点赞
发布博客于 12 年前

用Linux Bash script逐行处理文本文件

这里需要用到用到命令:wc:等到文件的行薮tail:返回文件尾部的内容head:访问文件头部的内容expr:用于数学运算j=0echo $infilelen=`wc -l < $infile`while test $j -le $lendoa=`tail -$j $infile|head -1`echo $aj=`expr $j + 1`done
原创
1807阅读
2评论
0点赞
发布博客于 12 年前

Android machine name

Android在启动时要参考到machine name,默认是取/proc/cpuinfo中的Hardware字段的内容,但是如果你在kernel启动时传上参数androidboot.hardware就可以覆盖前者的值。 最终的设置值你可以在android shell上输入getprop,找到ro.hardware就是machine name。 这个值会决定哪些JNI的driver中间层的动态
原创
1008阅读
0评论
0点赞
发布博客于 12 年前

Android设置中的默认设置

setting的读取和存储都是通过SettingProvider,他的代码中的res目录下,有个default.xml哪里存储着所有的默认设置。 如果你想添加一下默认设置条目在default.xml中,那么你也要修改SettingProvider的代码
原创
1363阅读
0评论
0点赞
发布博客于 12 年前

Android Status Bar

Android Status Bar被划分为左右两边,他的view的layout在xml中有定义。右边的图标部分是存放系统服务图标,左边是应用的一些图标。如果你想改变这些图标,可以修改StatusBarPolicy类
原创
2588阅读
1评论
0点赞
发布博客于 12 年前

导航软件的未来

在使用现在的GPS软件时,发现:当我导航超远距离,如上海到深圳的时候,GPS告诉了距离太远,不能路径规划。对呀!这么大的地图,如此多的waypoint,这么可能在一个只有最多几百兆内存的嵌入式设备中完成,运算如此大,内存消耗极大,这是不可能的。在一个城市里做路径规划运算已经不容易了。但是这个超长距离的导航,也一定是有需求的。这也就促成了travel功能的诞生。城市与城市,甚至国家与国家之间的导
原创
1024阅读
0评论
0点赞
发布博客于 12 年前

Android phone policy

目前Android policy分为Phone和MID。但是看起来,MID policy并没有什么用处。 policy不要是android提供的一个可以自定义的接口,用于定义android window的policy,它是WindowManagerPolicy类的实现。 policy中类的创建关系,由上创建下 PhoneWindowManager KeyguardViewMediator
原创
2682阅读
0评论
0点赞
发布博客于 12 年前

Google Wave终于申请到了

我是Google Fan,新服务总要先试用一下。Google Wave暂时没有公开使用,只有提申请才可以得到。本人还有8个邀请可以用,有兴趣的可以联系我。可以留下你的email
原创
1108阅读
7评论
0点赞
发布博客于 12 年前

Fedora通过Http Proxy下载git

Git的host多在国外,我们下载总是很忙,找一个http proxy帮你加速吧。 1、安装 connect-proxy $ sudo yum install connect-proxy2、编辑脚本 /usr/bin/my-git-proxy  #!/bin/shconnect-proxy -H http://xxx.xxx.xxx.xxx:xxx $@$
原创
1502阅读
0评论
0点赞
发布博客于 12 年前

Android 2D hardware 加速通告

Android到了donut以后,surfaceflinger不再使用copybit模块,而是直接使用openGL的相应函数。因此如果你使用donut之后的版本,请直接在openGL中的copybit。
原创
1335阅读
2评论
0点赞
发布博客于 12 年前

Does Skia support HW acceleration?

There are two ways Skia can take advantage of HW. <!--google_ad_client = "pub-3409735151169599";/* blogspot head ad */google_ad_slot = "8483880340";google_ad_width = 468;google_ad_height =
原创
1885阅读
0评论
0点赞
发布博客于 12 年前

Google Chromium OS

期盼已久的Google Chromium OS终于横空出世。看到的内容基本和发布之前的各种谣传类似。基于Linux,以web browser为核心。 Chromium的读音如下,我已经看了他们的官法视频,验证过。 他的官网也同时发布了http://www.chromium.org
原创
734阅读
0评论
0点赞
发布博客于 12 年前

十进制小数转二进制数

想看看浮点运算的事情,突然忘记了十进制小数转换二进制小数的方法。问题主要是在十进制的小数部分的。 采用乘2取整法,即每一步将十进制小数部分乘以2,所得积的整数部分(小数点左边的数字不是0就是1)作为二进制中的数字。第一次乘法所得的整数部分为最高位。
原创
861阅读
0评论
0点赞
发布博客于 12 年前

国际域名(.com .cn .net )过户流程

 如果您要更改域名持有人,需要办理过户手续,
转载
691阅读
0评论
0点赞
发布博客于 12 年前

Android2.0 build new feature

Android2.0需要sun java 1.5,不能用更新的版本。sun官方的下载地址是,这个地址只有你输入注册信息才会通过电邮发到你的邮箱,你就直接用吧,省着注册http://java.sun.com/javase/downloads/5u22/jdk<!--google_ad_client = "pub-3409735151169599";/* blogspot head
原创
761阅读
0评论
0点赞
发布博客于 12 年前

Android Touch Calibration解决方案

屏幕校准的基础就是两个直角坐标系的转换,是触摸屏输出的原始坐标系向屏幕的分辨率相关的坐标系转换。对于Android系统来说,触摸屏的原始输出值是在Linux kernel的touch驱动程序通过/dev/event设备节点向外的输出值。而屏幕坐标系就是大家所熟知的屏幕左上角为原点的坐标系。 通读过android framework关于input queue的相关代码,你会发现android
原创
3894阅读
3评论
0点赞
发布博客于 12 年前

ARM VFP

ARM的vector float-point遵循IEEE754-1985的标准。单精度浮点数用32位表示 双精度浮点数用2个32位数表示 <!-- google_ad_client = "pub-3409735151169599";/* blogspot head ad */google_ad_slot = "8483880340";goog
原创
4530阅读
1评论
0点赞
发布博客于 12 年前

Jazelle不会用在Android上

ARM的Jazelle的java加速技术,不会被应用在Android上,我也是今天发现。Jazelle是一个需要ARM授权,所以Google一定不会使用这项技术。连Jazelle的Architecture Reference Manual都是不公开的。哎!太可惜了
原创
1388阅读
0评论
0点赞
发布博客于 12 年前

应用程序的地位将越来越重要

理解一般软件分层时,都知道可以分为2层,应用程序,操作系统。而
原创
728阅读
0评论
0点赞
发布博客于 12 年前

BS EN 62106 Specification of the radio data system(RDS) for VHF/FM sound broadcasting range from 87.5 to 108 MHz, 2001

英国标准关于RDS的标准,这可是RDS标准的前身 EN 62106 Specification of the radio data system(RDS) for VHF/FM sound broadcasting range from 87.5 to 108 MHz, 2001
application/pdf
发布资源于 12 年前

Traffic and Travel Information broadcasting - protocols for the 21st century

Traffic and Travel Information broadcasting - protocols for the 21st century Dietmar Kopitz, Bev Marks
application/pdf
发布资源于 12 年前

RDS-TMC

在RDS没有弄清楚之前,想直接看TMC是不可能,你会会先直接看TMC的文档,它会假设你已经了解RDS通讯协议。RDS的数字编码最大的单元叫Group,由104 bit组成,等分为4个block,也就是说每个block的长度为26 bits。其中包括16 bits有效数据,和10 bits校验和序号码。这4个block的序号分别为A、B、C或者C’、D。 RDS官方论坛h
原创
1882阅读
0评论
0点赞
发布博客于 12 年前