Linux
他乡&学子
这个作者很懒,什么都没留下…
展开
-
android 设备写入文件,立即断电重启后,文件丢失
在android开发的过程中碰到写入文件后,立即断电重启,发现写入的文件丢失了写入时检查了,写入是没有失败的,经过查找资料可能是如下问题引起: Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。 可能是因为断电时,文件没有写入的物理介质中导致,解决办法如下: 在write/fwrite写...转载 2018-07-13 10:35:43 · 919 阅读 · 0 评论 -
Linux/Android系统开发 进程间通信 --- 信号通信
信号 ( signal ) 机制是 UNIX 系统中最为古老的进程间通信机制,很多条件可以产生一个信号.信号的产生: 1,当用户按下某些按键时,产生信号. 2,硬件异常产生信号:除数为 0 ,无效的存储访问等等.这些情况通常由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正访问一个无效存储区的进程产生一个 SIGSEG...转载 2018-11-08 13:48:56 · 461 阅读 · 0 评论 -
Linux/Android系统开发 如何用命令执行int main(int argc,char*argv[])程序
int main(int argc,char*argv[])带参数的main函数的执行指令如下:./appname 参数1 参数2 .....注意:参数间要加空格。 int main(void)无参数的main函数的执行指令如下:./appname ...原创 2018-10-30 17:47:35 · 404 阅读 · 0 评论 -
Linux/Android系统开发 利用addr2line工具定位错误
Windows系统+Android环境: 在Android真机开发时经常遇到crash错误,现crash_log中的内容如下:----- timezone:GMT10-26 10:32:19.299460 2022 12829 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xb657f754 in ...原创 2018-10-26 17:10:31 · 1284 阅读 · 0 评论 -
Linux/Android系统开发 常用Linux/Android命令
adb push D:\helloworld\helloworld.txt /mnt/sdcard/:推送文件helloworld.txt到机器的目录/mnt/sdcard/adb pull /data/tmp D:\tmp:拷贝设备中的/data/tmp内容到PC机的D:\tmpadb root:adb使用root权限adb shell :进入设备rm -r filename:删...原创 2018-10-31 09:58:13 · 400 阅读 · 0 评论 -
python 实现linux串口收发数据源码
使用python实现在linux平台收发串口数据,源码如下:uart.py#!/usr/bin/pythonimport serial,time,threadser=serial.Serial('/dev/ttyS1', timeout=1)print ser.portstrdef recv_func(sec): global ser print 'recv'...原创 2018-10-11 14:24:53 · 6164 阅读 · 0 评论 -
Linux/Android系统开发 串口驱动源码,FIFO模式
该驱动适用于采用linux和android系统平台的C/C++串口开发。FIFO发送模式:创建数据发送FIFO队列,在多任务数据发送情境下,既能保证数据发送任务能够得到执行,又可解决数据发送冲突问题。select接收数据:有效监听串口接收数据,提高执行效率,减少出错概率。 串口参数配置驱动,参考:https://blog.csdn.net/weixin_40779546/artic...原创 2018-08-16 14:17:56 · 901 阅读 · 0 评论 -
定义平台无关的数据类型,方便移植 C/C++开发
当我们在做跨平台的项目时,很可能会遇到数据类型有变化的情况,假如你的原工程代码中变量采用的都是如int、char等这样的定义会增加代码移植的工作量,而且修改时很容易遗漏出错,如果我们利用typedef对标准的数据类型重新定义别名,则在跨平台移植时我们只需要把有变动的标准数据类型更换即可,这样操作简单、不易出错。//// Created by taxiang&xuezi on...原创 2018-08-15 14:51:46 · 1181 阅读 · 0 评论 -
Linux/Android系统开发 串口参数配置源码 serial.c/serial.cpp
该驱动适用于采用linux和android系统平台的C/C++开发。用于配置串口相关参数:端口选择、阻塞非阻塞、波特率、停止位、数据位、校验位等。注:需要系统开启串口操作权限,否则配置失败。本驱动在MTK8735平台上验证测试,其它平台修改串口端口名称即可。源代码:serial.h//// Created by taxiang&xuezi on 2018/4/2...原创 2018-08-15 14:34:41 · 1437 阅读 · 0 评论 -
Linux/Android系统开发 日志驱动源码, 格式化输入
该驱动适用于采用linux和android系统平台的C/C++开发。格式化的日志字符串输入参数,日志时间精确到毫秒。使用示例:int var1 = 7; int var2 = 1; log("android %d.%d",var1,var2); 执行上述代码,会在当前文件目录下生成log.txt日志文件,并记录日...原创 2018-08-15 09:43:40 · 467 阅读 · 0 评论 -
Linux/Android系统开发 用select监听串口数据源码
select详解见https://baike.baidu.com/item/select%28%29/10082180?fr=aladdinselect()监听串口端口接收数据,可提高程序效率,降低功耗,并可避免非阻塞模式下直接read()大量数据时造成的端口卡死问题。#define PACKETSIZE 512fd_set rfds;int g_uart_fd;struct t...原创 2018-08-06 10:56:52 · 1601 阅读 · 0 评论 -
Linux/Android系统开发 控制GPIO管脚输出高低电平源码
adb指令实现:adb rootadb remountadb shellecho -wdout 5 0 > /sys/class/misc/mtgpio/pin echo -wdout 5 1 > /sys/class/misc/mtgpio/pinC程序实现:此方法适用于linux内核的系统,测试平台MTK8735。输入参数:port ---> GPI...原创 2018-08-06 09:49:44 · 3039 阅读 · 0 评论 -
Linux/Android系统开发 c/c++代码加载so库的方法
在linux/android开发时,我们经常会遇到第三方的so库,如何加载这些so库呢,下面以helloworld的简单例程进行详细讲解,为了方便移植和管理,所有涉及加载实现相关的代码都放在so.cpp和so.h模块,实现代码如下:so.cpp//so.cpp//// Created by taxiang&xuezi on 2019-02-27.//...原创 2019-02-27 10:51:25 · 946 阅读 · 0 评论