- 博客(30)
- 问答 (1)
- 收藏
- 关注
原创 异常拔出内存卡等原因导致/media/目录下残留mmcblk0文件夹问题解决
最近插拔内存卡的时候发现/media/目录下一直存在mmcblk0文件夹,无法 去挂载 了,也无法删除,重启设备也不行[root@EPC-M6G2C media]# lsmmcblk0/[root@EPC-M6G2C media]# wr rm -rf mmcblk0/rm: can't remove 'mmcblk0': Device or resource busy注: wr 相当于sudo查看挂载情况,发现可能是经常没有 去挂载 内存卡直接拔出导致的[root@EPC-M6G2C me
2021-01-08 14:04:54 1186 3
原创 记录一个shell脚本的题目——8升水平均分
有一个 8 升的瓶子装满水,还有一个 5 升的空瓶子和一个 3 升的空瓶子。要求将水分成两个 4 升。运行脚本之后要生产类似这样的解决方案:Your containers: 8 5 3Solution1 step0: 8–>0–>0Solution1 step1: 3–>5–>0Solution1 step2: 3–>2–>3Solution1 step3: 6–>2–>0Solution1 step4: 6–>0–>
2021-01-07 13:50:18 556 1
原创 使用tcflush()函数导致串口工作不正常
我在代码中对串口喜欢使用 tcflush() 函数来刷清缓存区,毕竟每次和传感器用串口交互我只取传感器回复包前面的一些有用字节信息,后续的需要丢掉,否则下次交互这些剩下的数据肯定影响我的判断。最近出现了一点问题使我百思不得其解,因为程序功能的需要,增加了一个线程频繁使用到串口,这和主线程使用串口肯定是有冲突的,我就想到了使用互斥锁,但不管怎么操作,运行一段时间后串口就无法收发数据了(刚开始以为,后续测试了一下是可以收到数据的,只是因为当时发不出去,传感器没有回复包,所以认为也不能收了),需要重新运行代码才
2020-09-30 17:16:49 1202 1
原创 linux开发板内存卡为只读文件系统修改
程序运行过程中突然无法读取写入数据到内存卡中,提示Read-only file system使用mount命令查看发现文件系统确实是只读(ro)查阅资料发现造成这种情况的因素很多,代码中实在找不到是什么原因导致的,故只能检测是否变成了只读文件系统,使用如下命令修改回来。mount -o rw,remount /media/mmcblk0p1/此时变正常了,可以正常读写...
2020-08-04 08:59:38 1084
原创 一文看懂嵌入式/etc/init.d/目录下的所有启动文件
本目录下的所有文件[root@EPC-M6G2C init.d]# lsS01logging* S30dbus* S50telnet* S90start_userapp.sh* S10udev* S40network* S70vsftpd* socketcand*S13portmap* S50dropbear* S80mount-opt*
2020-07-13 20:35:32 6083
原创 C语言printf()输出方式用法总结
常用的输出方式:字符串char str[] = "d 0 b"; //不包括空字符共5字节printf("**%s**\n",str); //遇空字符结束printf("**%7s**\n",str); //靠右 printf("**%-7s**\n",str); //靠左 输出结果:**d 0 b**** d 0 b****d 0 b **int型int a = 1234; printf("**%d**\n",a); printf("**%2d*
2020-06-29 17:54:52 2467 1
原创 嵌入式开发板reboot迟迟没有重启成功的问题
在cortex-A7的一款开发板中,使用常规的写法更改启动文件S90StartupApp,因为一些特殊原因,启动文件的运行时长有时候在半分钟以上才能结束,使用ssh连接时,reboot重启但ssh连接迟迟不断开,检查问题发现问题就出在自定义的启动文件中,更改启动文件的格式就可以了。start(){ ...}stop(){ <空>}case "$1" in start) start;; stop) stop;;
2020-05-31 10:04:33 988
原创 /etc/init.d/rc文件语法解析
#! /bin/shPATH=/sbin:/usr/sbin:/bin:/usr/bin #设置环境变量export PATHCONCURRENCY=makefile scriptname="$0" #$0表示传入的第一个参数,如执行 ./rc 1 2 第一个参数是./rc,第二个是1。umask 022 #设置当前目录默认文件权限on_exit() { #函数 echo ...
2020-04-26 22:12:12 848
原创 Redis C语言库 hiredis 在嵌入式开发环境下的使用
下载git clone https://github.com/redis/hiredis.git修改进入Makefile注释掉之前的语句,增加一条CC:=arm-linux-gnueabihf-gcc代码位置:注意:上面修改的交叉编译工具链仅供参考,替换成自己的。安装makesudo make install若之前编译过但是出错了那就先执行make clean...
2020-03-27 12:02:38 1369
原创 CCNA学习指南(三)TCP/IP简介-TCP/IP和DoD模型----学习笔记
TCP/IP和DoD模型TCP/IP和DoD模型的比较DoD 模型是 OSI 模型的精简版,它包含4层(而不是7层):进程/应用层;主机到主机层;因特网层;网络接入层。图3-1 DoD 模型和 OSI 参考模型进行了比较。正如你看到的,这两个模型在概念上是相似的,但它们包含的层数不同,各层的名称也不同。讨论IP栈中的各种协议时, OSI 和DoD模型的层可互换。换句话说,因...
2020-02-02 18:29:23 857
原创 CCNA学习指南(二)以太网和数据封装-数据封装----学习笔记
数据封装主机通过网络将数据传输给另一台设备时,数据将经历封装: OSI 模型的每一层都使用协议信息将数据包装起来。每层都只与其在接收设备上的对等层通信。为通信和交换信息,每层都使用 PDU(Protocol Data Unit ,协议数据单元)。 PDU 包含在模型每一层给数据添加的控制信息。这些控制信息通常被添加在数据字段前面的报头中,但也可能被添加在报尾中。OSI 模型每层都对数据进行封...
2020-02-01 13:39:08 605
原创 CCNA学习指南(一)网络互连-OSI七层协议模型----学习笔记
OSI参考模型OSI 分层模型的主要优点将网络通信过程划分成更小、更简单的组件,这有助于组件的开发、设计和故障排除;通过标准化网络组件,让多家厂商能够协作开发;定义了模型每层执行的功能,从而鼓励了行业标准化; 让不同类型的网络硬件和软件能够彼此通信;避免让对一层的修改影响其他层,从而避免妨碍开发工作。OSI 参考模型应用层(第7层);表示层(第6层);会话层...
2020-01-31 17:39:30 371
原创 CCNA学习指南(一)网络互连-网络互连基础----学习笔记
网络互连基础位于同一个 LAN 中的Bob和Sally通过多端口转发器(集线器)相连。LAN通信过程Bob 发送一个数据链路层(二层)广播,其目标 MAC 地址全为F,并发送一个 IPLAN 广播,其目标地址192.168.0.255(广播地址)。(ARP协议发送)Sally回应了Bob的 IP 地址和 MAC 地址!(ARP)Bob知道了Sally的ip地址和mac地址,就可以和她...
2020-01-17 11:09:39 625 1
原创 Git基础用法学习笔记
初始化仓库git init获得一个仓库git clone git://…/xxx.git 文件名或git clone http://…/xxx.git 文件名初始化配置git config --global user.name “name”git config --global user.email “xxxxxx@qq.com”注:–global表全局,可去掉提交git ad...
2019-12-26 23:22:25 150 1
原创 Linux打包、压缩、解压常用tar命令
语法tar(选项)(参数)选项f<备份文件>或–file=<备份文件>:指定备份文件;-v或–verbose:显示指令执行过程;-c或–create:建立新的备份文件;-z或–gzip或–ungzip:通过gzip指令处理备份文件;-j:支持bzip2解压文件;-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。-x或–...
2019-11-28 10:30:51 240
原创 C语言执行程序时加入参数 int main ( int argc, char *argv[ ] )
在主函数入口处添加形参int argc , char *argv[ ];argc 是执行程序时传入的参数(字符串)个数;argv 指针数组是存放传入的参数(字符串)地址;一个小例子:/*test_main.c*/#include <stdio.h>int main(int argc, char *argv[]){ printf("%d\n",argc); ...
2019-11-19 23:37:14 1804
原创 同步时钟之hwclock命令(硬件->系统,系统->硬件)
hwclockhwclock -s 将硬件时间同步到系统时间hwclock -w 将系统时间同步到硬件时间hwclock -v 查看版本datedate 查看系统时间date -s 设置系统时间查看当前硬件时间yu@ubuntu:~$ hwclockhwclock: Cannot access the Hardware Clock via any known method.hw...
2019-11-18 22:15:42 10685
原创 Linux开发板中启动文件相关知识点
启动文件一般在 /etc/init.d/ 目录下,开发板上电后自动运行启动文件。启动文件从S01开始从小到大依次运行启动文件一般都是shell脚本,使用shell脚本语言编写,要加上#!/bin/sh等指定解析器才能运行一般最好让它后台运行,在执行命令行的后面加上&符号,如:./fluidlauncher -qws & ,不然如果你的执行代码若是死循环的话,后续的启动文件...
2019-11-15 10:44:18 496 1
原创 安装TFTP服务
在ubuntu系统下输入命令sudo apt-get install tftpd-hpa安装成功后进入 /etc/default/tftpd-hpa 文件配置 “TFTP_DIRECTIORY" 变量才算开启tftp服务TFTP_DIRECTORY="/tftpboot"指定的/tftpboot的目录若不存在,则创建一个,设定宽松权限777mkdir /tftpbootsudo c...
2019-11-04 15:36:39 252
原创 Linux中删不掉的文件——隐藏权限(lsattr、chattr命令)
命令chattrlsattr我的linux系统中有一个普通文件yu@ubuntu:/home/yu$ ls -l test-rwxr-xr-x 1 root root 10346 10月 30 12:08 test现在我想把它删掉了yu@ubuntu:/home/yu$ sudo rm -rf testrm: cannot remove `test': Operation not ...
2019-10-30 16:59:12 4185
原创 TFTP服务在IMX283 ARM9 Linux系统的使用方法
使用官方测试文档在ubuntu系统中使用tftp命令vmuser@Linux-host ~$ tftp 192.168.12.123tftp> get tftpTestFiletftp> qvmuser@Linux-host ~$ lstftpTestFile可以看到成功下载了tftpTestFile文件而在IMX283系列开发板上测试发现输入命令提示[root@M28...
2019-10-24 20:04:32 942 1
原创 串口设置(波特率、数据位、校验位、停止位)
串口终端设备的接口属性如下:struct termios{ tcflag_t c_cflag; //控制标志 tcflag_t c_iflag; //输入标志 tcflag_t c_oflag; //输出标志 tcflag_t c_lflag; //本地标志 tcflag_t c_cc[NCCS];//控制字符}示例代码:int fd;fd = open("",O_RDWR...
2019-10-24 11:08:01 10464
原创 Linux常用命令合集
cd 切换目录$cd <path> 去到指定路径$cd 回到家目录$cd - 输出家目录路径并回到家目录pwd 查看当前目录位置$ pwd 查看当前目录位置ls 列出当前目录下的文件ls 列出当前目录下的文件-l 以列表的形式列出-a 列出隐藏文件cp 复制文件mv 移动或者改名文件...
2019-10-14 08:54:30 153
原创 Linux C 获取当前时间的方法
获取年、月、日、星期、小时、分钟、秒示例代码#include <stdio.h>#include <time.h>int main(void){ time_t now; struct tm *t; char *wd[7] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六",}; time(&now); t...
2019-09-29 18:19:05 1990
原创 char字符型数据快速转换成float型数据的方法
实现4个字节字符型char转换成IEEE754标准浮点型float数据。假设我从串口获取到一串字节流 01 03 04 44 8C 23 96 B6 76其中44 8C 23 96是浮点型的char型存储方式ubuntu系统中数据的存储是小端模式,...
2019-09-26 09:05:11 6384
原创 char转换成int型数据
字符串“1121“转换成整型1121#include <stdio.h>#include <string.h>void CharToInt(int *dest, char *src, long len);int main(void){ unsigned char *str = "1121"; int value, str_len...
2019-09-25 15:17:22 5243
原创 int型数值转换成任意个数char型字节存储
嵌入式开发中,主机和从机通讯中,常常需要进行数据类型转换,下面就来写一个常用的int型转char类型数据的方法。#include <stdio.h>#include <string.h>#define HIGH 1#define LOW 0#define NUM 4void IntToStr(char *, int, int, int );int m...
2019-09-24 10:57:02 431
原创 scanf( )、gets( )、fgets( )、getchar( )常用函数用法总结
函数scanf( )字符串输入整型值输入浮点型输入gets( )字符串输入fgets( )字符串输入文件输入getchar( )字符输入总结输入输出scanf( )字符串输入特点:键盘输入回车代表输入结束遇到空格结束读取回车符不保存若 (字符串长度<最大字节数) 则自动添加空字符在字符串结尾,否则不添加。示例:#include <stdio.h>#de...
2019-09-18 20:25:22 1036
原创 汉字编码转换的实现
首先在ubuntu环境测试一下汉字的编码类型/*test1.c*/#include <stdio.h>#include <string.h>int main(void){ unsigned char arr[] = "余"; unsigned int len, i; len = strlen(arr); ...
2019-09-09 16:04:01 2396
原创 C语言数组元素个数计算总结
一维数组#include <stdio.h>int main(void){ int arr_one[] = {1,2,3,4,5,6,7,8,9,10}; unsigned long int arr_len = sizeof(arr_one)/sizeof(arr_one[0]); printf("%ld\n",arr_len); return 0;}撤销:C...
2019-08-29 19:44:55 38627 5
空空如也
C语言unix I/O lseek()函数使用问题
2021-04-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人