- 博客(72)
- 资源 (3)
- 收藏
- 关注
原创 android应用开机自启动&service开机自启动
android开机应用与service开机自启动配置:1.在AndroidManifest.xml中添加如下内容:(1)在application中添加receiver:application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:la
2016-11-24 10:15:22 21179
原创 android应用:编写没有图标的应用
在Manifest.xml中: android:name="com.ingenic.iwds.slptclientdemo.SlptClientDemoMainActivity" android:label="@string/app_name" >
2016-11-23 17:15:26 1985
原创 Linux下查看、修改分区的卷标:修改linux分区的卷标
Linux下查看、修改分区的卷标:修改linux分区的卷标可以用 e2label,比如要把/dev/sda1 的卷标改为/boot,则可这样$ e2label /dev/sda1 /boot
2016-11-21 22:57:55 11839
转载 lcd fb参数
本文参考了:http://www.linuxidc.com/Linux/2011-01/31800.htm感谢该文的作者。Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LCD屏的硬件参数:/* include/linux/fb.h */struct fb_videomode { const char *name; /* optiona
2016-11-07 20:24:16 595
原创 ramdisk问题
出现如下打印可能是ramdisk的问题,更新一下ramdisk。[ 4.005562] ALSA device list:[ 4.005820] #0: watch[ 4.355682] Freeing unused kernel memory: 436K (80893000 - 80900000)[ 4.359350] SELinux:
2016-11-02 12:06:44 998
原创 linux之wake_lock
wake_lock 持锁,系统无法深休 android的应用 或者是 kernel的驱动 会根据需要持 wake_lock锁,以阻止 kernel 进入深度休眠。 此时android的应用界面已经没有了显示,如果没有slpt的话,此时屏幕应该是黑的。使用方法: 持锁:echo 1 > /sys/power/wa
2016-09-23 09:48:17 2064
原创 frame buffer驱动(1)
1.下面介绍一下tft和slcd的descriptor operation的区别:这里我使用的是slcd,但只用了FRM0,没有使用FRM1,所以需要disable掉FRM1,在调试中我并没有disable掉FRM1,而且也没有像上图中指定:CMD->FRM0->FRM1->CMD->。。。导致屏幕显示白色的雪花。disableFRM1的代码为:framedesc1->
2016-08-03 15:20:25 569
原创 frame buffer驱动
因为移植的需要,对linux内核的fb驱动进行了封装,但是由于以前没有调试过fb驱动所以还是遇到了很多未知的问题,所以先把封装好的驱动移植到uboot中进行调试,对照uboot以前的fb驱动后对问题进行一下分析:1.屏幕显示白色的雪花,不能正确的显示:未完待续。。。。。。。。。。。。。。。。。。。。。。。。。
2016-08-02 17:45:05 1329
原创 git 报错:ERROR: missing Change-Id in commit message footer
koson@koson-Liao:~/work/SourceFile/iwds_kernel/slpt$ git push origin Counting objects: 108, done.Delta compression using up to 8 threads.Compressing objects: 100% (15/15), done.Writing objects: 10
2016-06-07 14:47:52 3555
原创 汉字utf-8转unicode
#include #include #include #define u8 unsigned char#define u16 unsigned shortstatic int getUtf8ByteNumForWord(u8 firstCh){ int num = 0; int temp = 0x80; while (firstCh & temp) { num++;
2016-06-02 15:48:23 543
原创 busybox find
adb shell进入使用busybox find来查找文件:例如:busybox find / | grep als_adc,(不用像linux系统中find . -name als_adc)
2016-05-18 09:43:06 2911
转载 Linux休眠与唤醒
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的suspend的回调函数;(3)按照注册顺序休眠核心设备和使CPU进入休眠态。 冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所有进程的上下文。当这些进程被解冻的时候,他们是不知道自己被冻结过的,只是简单的继续执行。如何让Linux进入休眠呢?用户可以通过读写sys文件
2016-05-06 16:07:47 3043
原创 stm32的RTC闹钟
1.在HAL_RTC_MspInit中开中断:/*##-4- Configure the NVIC for RTC Alarm ###################################*/ HAL_NVIC_SetPriority(41, 0x0f, 0); HAL_NVIC_EnableIRQ(41);注意:SubPriority的问题,因为使用的是最低的优先级,导致中断一
2016-03-25 15:32:15 5664
原创 printf被编译器优化导致纯字符串打印问题(gcc不使用标准库)
下面先贴出printf的驱动。。。#include #include extern int __io_putchar(int ch);static inline int isdigit(int ch){ return (ch >= '0') && (ch <= '9');}static int strnlen(const char *s, int count){ const
2016-03-25 15:16:28 1455
原创 unsigned long long的问题
#include int main(){ unsigned long long aaa = 0; aaa = 0xffffffff * 0xffffffff; bbb = (unsigned long long)0xffffffff * (unsigned long long)0xffffffff; pri
2016-03-24 17:56:35 2010
原创 STM32通过I2C与BMP280通信
BMP280气压传感器(Digital Pressure sensor)测试流程图:项目中使用的是I2C通信,BMP280的作为slave的地址要确认好,它的地址根据硬件电路SDO接什么脚来决定:1.BMP280的测试启动流程(注意它的datasheet中的status寄存器):(1)读取BMP280的id,其值等于0x58。(2)把
2016-03-19 14:49:36 37540 36
原创 STM32F411CE调试I2C遇到的问题
初次调试I2C驱动,先整理一下思路:本次调试是调试STM32F411CE与BMP280通信,首先根据ST提供的参考例程对I2C进行配置,然后给BMP280发数据,没想到这一调就是两天。。。对此,总结思路:1.当通信失败,而且不知道问题在哪,首先确认I2C能通信。(1)确认硬件没有问题。(2)确认软件配置没有问题,因为硬件对I2C的GPIO选择的function不同,比如
2016-03-16 22:20:10 2539
原创 cc2650之simpleBLEPeripheral工程的打印调试
一、cc2650串口打印调试我可以说一个串口整了我差不多两天吗,真是too young啊。。。言归正传吧,周六加班不容易,珍惜时间吧。。。步骤:1.添加头文件->2.定义两个变量->3.初始化串口->4.打印没错,就像你看的那么简单,但是串口就是不行。。。注意0,1,2,3,4的ascii码!!!把{0,1,2,3,4}改成{"0,1,2,3,4"}吧!!!!!
2016-03-05 11:09:41 2758 1
原创 STM32使用printf
1.勾选Use MicroLIB:2.添加fputc 函数:int fputc(int ch, FILE *f){ HAL_UART_Transmit(&UartHandle, (uint8_t *)&ch, 1, 0xFFFF); return ch;}
2016-02-23 12:10:41 1380
原创 show_rle_picture
#include #include #include DECLARE_GLOBAL_DATA_PTR;extern unsigned char rle_default_logo_addr[];extern int lcd_line_length;static inline unsigned int color16_to_32(unsigned short color) { uns
2015-11-13 15:11:04 459
原创 core_param的使用
/** * core_param - define a historical core kernel parameter. * @name: the name of the cmdline and sysfs parameter (often the same as var) * @var: the variable * @type: the type of the parameter
2015-11-09 09:39:33 2441 1
原创 printk()在终端打印红色字体
#define kprint(fmt,args...) printk("\033[1;31m" fmt "\033[0m \n", ##args);
2015-11-05 16:54:00 1433
转载 Linux内核regulator架构和编写
电源种类介绍 (百度百科)LDO是low dropout regulator,意为低压差线性稳压器,是相对于传统的线性稳压器来说的。传统的线性稳压器,如78xx系列的芯片都要求输入电压要比输出电压高出2v~3V以上,否则就不能正常工作。但是在一些情况下,这样的条件显然是太苛刻了,如5v转3.3v,输入与输出的压差只有1.7v,显然是不满足条件的。针对这种情况,才有了LDO类的电源
2015-10-22 16:31:01 857
原创 msleep问题
板子在休眠之前关闭了中断,当你在关闭中断后的休眠前去使用了msleep(例如I2C驱动中),那板子将一睡不醒。这时应该使用mdelay。
2015-10-20 10:40:02 1525
原创 seq_file实例
#ifndef __REGULATOR_JZ_DEBUG__#define __REGULATOR_JZ_DEBUG__#endif#define INFO_PRINTF(seq, sw, fmt, arg...) \ do { \ if (seq) \ seq_printf(seq, fmt, ##arg); \ else if (sw) \
2015-10-16 21:03:49 570
转载 seq_file工作机制实例
分类: LINUX内容简介本文主要讲述序列文件(seq_file)接口的内核实现,如何使用它将Linux内核里面常用的数据结构通过文件(主要关注proc文件)导出到用户空间,最后定义了一些宏以便于编程,减少重复代码。在分析序列文件接口实现的过程中,还连带涉及到一些应用陷阱和避免手段。序列文件接口UNIX的世界里,文件是最普通的概念,所以用文件来作为内核和用户空间传递
2015-10-16 20:59:20 4528
原创 路漫漫其修远兮~~~
void go_home(void){printf(“fired and go home!\n”);}void stay_and_work(){printf("stay in the company and get more money!\n");}int main(){int work_hard;if (!work_hard)go_
2015-10-16 20:43:47 320
arm-linux-gcc4.1.2
2015-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人