自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cpuwolf的成长笔记

通用性和性能总是矛盾,驱动程序就是这两者的折中产物

  • 博客(186)
  • 资源 (8)
  • 收藏
  • 关注

原创 STM8的wait for interrupt

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

2013-10-29 09:47:45 3935

原创 STM8L最小系统板移植Atomthreads成功

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

2013-10-28 10:40:32 9239 23

原创 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的功耗

2013-10-25 20:06:46 10672

原创 取出真正编译到的代码

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

2013-10-25 13:28:13 1836

原创 Atomthreads关于STM8S低功耗的思考

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

2013-10-25 10:43:31 10880 5

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

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

2013-10-24 20:47:00 18664 18

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

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

2013-10-24 13:32:40 6314 3

原创 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

2013-03-16 11:26:44 10193

原创 Linux kernel patch提交成功

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

2013-01-22 10:13:50 1910 1

原创 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}

2011-04-22 13:20:00 2947

转载 4-bit ECC in software is unacceptable

Clearly 4-bit ECC in software is unacceptable.

2011-03-09 11:06:00 2409

原创 I2C timing pattern

<br />用google搜索了I2C,想找个真实的I2C的时序图,怎么也找不到。今天自己贡献一个一副图,自己抓得真实的,包括了I2C spec所有的协议信号的样子。包括start, restart,stop,ack,nak,write,read<br />

2011-01-29 00:29:00 5732 1

原创 Android Touch Calibration解决方案

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

2011-01-11 22:43:00 6540 1

原创 网购内存条经验谈

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

2010-11-23 14:49:00 2841 1

原创 PC---我错过了好几年

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

2010-10-15 18:15:00 1010 2

原创 备份一个Linux系统硬盘 II

可是随着原系统的运行和发展,这两个硬盘的内容的差距也会越来越大

2010-08-07 08:50:00 845

原创 备份一个Linux系统硬盘 I

假设你有一个Linux系统已经可以正常工作,现在想复制一个系统出来到另外一个硬盘上以备系统崩溃时开可以立即启用这个备份硬盘,以至于不影响系统的运行,同时这块备份硬盘可能与原系统的硬盘大小不一致。

2010-08-07 08:45:00 2570

原创 Android Solution之我见

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

2010-03-05 10:19:00 980 1

原创 Android设备屏幕问题

Android毕竟是一个小型的嵌入式系统,里面所有的应用都是按竖屏幕设计的,因此我强烈建议设计的Android机器最好是以竖屏幕为主,偶尔一些特殊应用,比如导航等,再旋转屏幕成横屏使用。

2010-02-26 17:12:00 907 1

原创 坚定要贡献下去

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

2010-01-10 21:32:00 1307 6

原创 Android 版本信息如何查看

在没有Git的帮助下想查看android的版本信息还真是不太容易定义在build/core/version_defaults.mk文件中。由关键字PLATFORM_VERSION PLATFORM_SDK_VERSION

2010-01-08 13:49:00 6857 1

原创 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

2010-01-07 12:38:00 1423

原创 WinCE Eboot中加入Linux boot的支持

Index: flash.c =================================================================== --- flash.c    (revision 1804) +++ flash.c    (working copy) @@ -26,6 +26,8 @@ #include "ebootnand.h"

2009-12-31 10:37:00 1303

原创 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.

2009-12-24 14:25:00 1276

原创 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

2009-12-24 12:00:00 1523

转载 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]

2009-12-19 00:22:00 1064

转载 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

2009-12-19 00:00:00 2346

转载 C51控制FM Radio---NXP TEA5766

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

2009-12-18 23:51:00 1857

原创 MLC NAND

MLC NAND可以用“便宜没好货”来形容。它的page有一对的说法,根据这个表,加入page 0坏了,那么page 4就很有可能也被损坏。 所以基于MLC NAND的文件系统,需要针对这样的表格,进行优化。

2009-12-15 16:51:00 966

原创 Linux kernel PWM abstraction

Linux kernel定义了pwm.h 并声明了 struct pwm_device; 但是没有该结构体的,具体定义,也就是说这个机构体的具体定义可以根据arch的不同而不同。 同时声明了一些函数: pwm_request pwm_free pwm_config pwm_enable pwm_disable 这些函数很好的抽象了pwm的功能,一次arch的实现者,不要忘记这样

2009-12-15 13:30:00 1880

原创 用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

2009-12-11 11:49:00 1866 2

原创 Android machine name

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

2009-12-09 14:57:00 1190

原创 Android设置中的默认设置

setting的读取和存储都是通过SettingProvider,他的代码中的res目录下,有个default.xml哪里存储着所有的默认设置。 如果你想添加一下默认设置条目在default.xml中,那么你也要修改SettingProvider的代码

2009-12-08 10:44:00 1452

原创 Android Status Bar

Android Status Bar被划分为左右两边,他的view的layout在xml中有定义。右边的图标部分是存放系统服务图标,左边是应用的一些图标。如果你想改变这些图标,可以修改StatusBarPolicy类

2009-12-07 17:21:00 2687 1

原创 导航软件的未来

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

2009-12-07 14:33:00 1126

原创 Android phone policy

目前Android policy分为Phone和MID。但是看起来,MID policy并没有什么用处。 policy不要是android提供的一个可以自定义的接口,用于定义android window的policy,它是WindowManagerPolicy类的实现。 policy中类的创建关系,由上创建下 PhoneWindowManager KeyguardViewMediator

2009-12-07 11:57:00 2873

原创 Google Wave终于申请到了

我是Google Fan,新服务总要先试用一下。Google Wave暂时没有公开使用,只有提申请才可以得到。本人还有8个邀请可以用,有兴趣的可以联系我。可以留下你的email

2009-12-01 23:53:00 1180 7

原创 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 $@$

2009-11-24 14:20:00 1561

原创 Android 2D hardware 加速通告

Android到了donut以后,surfaceflinger不再使用copybit模块,而是直接使用openGL的相应函数。因此如果你使用donut之后的版本,请直接在openGL中的copybit。

2009-11-23 17:58:00 1398 2

原创 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 =

2009-11-23 16:54:00 1967

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

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

2020-07-11

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

OBS网络直播间会往专业化发展,zbmate专注于网络直播间的装修

2017-06-23

Atomthreads STM8L cpuwolf 1.0

RTOS STM8 Atomthreads

2013-10-31

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

2009-10-30

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

Traffic and Travel Information broadcasting - protocols for the 21st century Dietmar Kopitz, Bev Marks

2009-10-29

United States RBDS Standard

1984年,第一个RDS的文档发布。1992年美国也放出了自己的RDS标准,并且改名为RBDS(Radio Broadcast Data System),实际上,这个标准和RDS没有什么太大区别。同年,美国又在RBDS中加入了TMC(Traffic Message Channel)

2009-10-29

3GPP TS 23.040 V8.3.0 (2008-09)

3GPP TS 23.040 V8.3.0 (2008-09) 3GPP关于短信息格式的规定

2009-10-23

汽车CAN bus接线位置

包括的汽车有Audi,BMW,Honda,Mazda6,Mercedes,Peugeot,Volkswagen等等的车型,CAN BUS连线的位置

2009-10-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除