武功秘籍 - 嵌入式软件
文章平均质量分 71
武功秘籍 - 嵌入式软件
returningprodigal
大家好,我的主攻方向是嵌入式开发,很高兴能够同大家一起探讨相关问题.
展开
-
使用 .NET Reactor 混淆C#程序后,调用ToJson()出现Newtonsoft.Json.JsonSerializationException
使用 .NET Reactor 混淆 C#程序,出现Newtonsoft.Json.JsonSerializationException原创 2022-06-24 20:26:41 · 1224 阅读 · 0 评论 -
Linux开发问题参考链接
Linux开发相关问题及参考资料链接Linux实时抢占补丁Realtime-Preempt-Kernel原创 2020-05-11 15:10:54 · 157 阅读 · 0 评论 -
Linux 内核实时补丁 PREEMPT_RT补丁 与 Linux4.1.15 + patch-4.1.15-rt18.patch 补丁,实测实时性差
Linux4.1.15 + patch-4.1.15-rt18.patch 补丁,实测实时性差开发环境发行环境该环境用于发行Linux: 4.1.15preempt_rt: patch-4.1.15-rt18.patchSOC: i.MX6Qboard: 飞凌OK_MX6X_C_V1.3运行程序: main (最终部署程序)开发环境在开发阶段使用的该环境Linux: 3.14...原创 2019-12-19 16:54:16 · 2430 阅读 · 0 评论 -
init进程
init进程init的进程号是1(ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序。init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。理解Runlevel:runlevel用来表示在init进程结束之后的系统状态,在系统的硬件中没...转载 2019-12-11 15:35:54 · 804 阅读 · 0 评论 -
linux常用命令
linux常用命令ln -s /mnt/hgfs/document windoc创建软连接dpkg -i <pack_name>.deb安装 deb 包压缩目录,文件xz -z <filename/dirname> //压缩得到 filename.xztar -cf filename.tar <filename/dirname>tar...原创 2018-08-20 13:43:44 · 299 阅读 · 0 评论 -
linux udev学习整理
linux udev学习整理 自2.6 核心开始,就可以使用udev 协助管理系统中各设备名称。例如,磁盘设备排序、网卡设备排序等。udev能动态地在/dev 目录里产生自定义的、标识性强的设备文件或设备链接。本文即以红旗Asianux 3.0 平台,给新加载的U盘设备自定义一个链接为例进行简要说明。一、关于udev 2.4 内核使用devfs(设备文件系统)在设备初始化时创建设备文件,设...转载 2018-08-14 11:10:30 · 353 阅读 · 0 评论 -
linux udev-U盘自动装载与卸载
linux udev-U盘自动装载与卸载 1.新建规则(或者在其他规则文件中添加): vim /etc/udev/rules.d/11-usb.rules 追加:KERNEL=="sd[a-z][0-9]", ACTION=="add|remove", RUN+="/opt/mountusb.sh %k $env{ACTION}"注意:起初我将添加和移除规则放在两个文件中来分别写...原创 2018-08-14 11:07:34 · 801 阅读 · 4 评论 -
linux 实现ftp多客户端连接访问
在复习阶段,我又重新写了一个ftp服务程序。实现了多客户端同时连接、操作。文件目录: common.h ftpserver.c ftpclient.ccommon.h 定义数据结构,以及常用函数#ifndef COMMON_H#define COMMON_H#define SIZE_REQ 88#define SIZE_RESP_DATA 1000#defi...原创 2018-03-03 22:46:07 · 1042 阅读 · 2 评论 -
Linux C之命名规则
Linux 库命名规律结构体命名 结构体名称后缀: ***_st:自定义结构体类型 ***_t:typedef 的数据类型 ***_ds:自定义数据结构类型原创 2017-12-05 19:40:50 · 1499 阅读 · 0 评论 -
Linux C之进程间通讯
一.管道无名管道创建无名管道int pipe(int pipides[2]); 参数pipides为一个整形数组,下表为2。如果函数执行成功,pipe将存储两个文件描述符于pipedes[0]和pipedes[1]中,它们分别指向管道的两端。如果系统调用失败,将返回-1。 无名管道是单工的,一个管道只能实现从一个进程向另外一个进程发送消息,pipedes[0]是读...原创 2017-12-04 19:37:24 · 256 阅读 · 0 评论 -
Linux C之函数指针
首先,要确定声明中出现的操作符的优先级。显然,函数调用操作符()的优先级是高于指针解引用操作符*的。另外,小括号总是具有最高优先级。其次,要确定在声明中标识符与某个操作符结合起来的时候有什么意义。例如:a() a是一个函数 *a a是一个指针由于函数声明的特殊性,当指针解引用操作符*与一个表示函数的标识符结合时,表示这个函数的返回值是一个指针。例如 *a() 表示a是一个返回值为指针转载 2017-12-04 18:57:45 · 321 阅读 · 0 评论 -
Linux C之IO操作
文件IOread阻塞:IO操作是否阻塞,是可以通过fcntl来设置fcntl函数int fcntl(int fd, int cmd, long arg);设置非阻塞模式int flag;flag = fcntl(socketfd, F_GETFL, 0);flag |= O_NONBLOCK;fcntl(socketfd, F_SETFL, flag);设置阻...原创 2017-12-04 12:58:03 · 225 阅读 · 0 评论 -
线程同步
同步:同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。“同”字从字面上容易理解为一起动作,其实不是,“同”字应是指协同、协助、互相配合。 线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,目前实现线程同步的方法有很多,临界区对象就是其中一种。原子操作 vs 非原子操作原创 2017-12-01 20:20:50 · 210 阅读 · 0 评论 -
Linux系统安装FFmpeg以及依赖库
最近这两周都在搞FFmpeg的安装,先是在windows平台上做了一个rtsp音视频流采集程序。但总监必须要我运行在Linux 平台上,没办法,就这样开始了我的噩梦。小白一个,大神勿喷。附件中有:FFmpeg的依赖库、FFmpeg--help进入正题了,首先安装FFmpeg有伴随的很多依赖库,这些依赖库大多是音视频编解码器。这个可以根据自己的需求来安装相印的依赖。总监让我做的这个程序要用到原创 2016-12-21 11:01:42 · 7365 阅读 · 0 评论 -
ubuntu12.04重启之后发现输入正确的帐号和密码会闪一下命令行,然后又回到登录界面
ubuntu12.04管理员账户登录不了桌面,只能客人会话登录求助!!ubuntu12.04管理员账户登录不了桌面,只能客人会话登录。登录管理员账户时,输入密码后,一直在登录界面循环费了好大劲啊,一上午的时间,终于搞定了,哈哈哈ctrl+alt+f1 ,切换到tty1,输入管理员帐号和密码sudo rm -r .Xauthority*sudo reboot //转载 2016-08-09 15:20:11 · 1703 阅读 · 0 评论 -
linux c 实现 ls 命令
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <error.h>#include <time.h>// ctime()函数#include <dirent.h>//操作目录#in原创 2016-07-20 13:35:43 · 1094 阅读 · 0 评论 -
Linux C利用Socket套接字进行服务器与多个客户端进行通讯
服务器端有故障代码如下void *fun_thrReceiveHandler(void *socketCon){ char buffer[30]; int buffer_length; int _socketCon; while(1){ //添加对buffer清零 bzero(&buffer,sizeof(buffer)...原创 2016-07-15 12:51:52 · 12532 阅读 · 29 评论 -
RT-Thread开发问题参考链接
RT-Thread移植相关链接rt-thread移植适配原创 2020-05-11 14:56:56 · 458 阅读 · 0 评论 -
rtthread rtconfig.h配置说明-内存管理配置
rtthread rtconfig.h配置说明RT_USING_MEMPOOL //是否使用 内存池RT_USING_MEMHEAP //是否使用 内存堆RT_USING_MEMHEAP_AS_HEAPRT_USING_HEAPRT_USING_SMALL_MEM // 是否使用 小内存管理RT_USING_TINY_SIZE // 是否使用 小体积的算法,牵扯到 rt_...原创 2020-02-27 10:22:39 · 3599 阅读 · 0 评论 -
rt-thread UART 驱动注册IO设备管理器的调用关系
/************************ UART 驱动注册IO设备管理器的调用关系 ************************/struct imxrt_uart{ char *name; LPUART_Type *uart_base; IRQn_Type irqn; rt_uint16_t dma_flag; struct rt_ser...原创 2020-02-22 11:12:08 · 983 阅读 · 0 评论 -
NXP i.MX RT1052 时钟配置
NXP i.MX RT1052 时钟配置RT1052 共有 7 个 PLL 锁相环电路,分别为 ARM PLL(PLL 1)、System PLL(PLL 2)、USB1 PLL(PLL 3)、Audio PLL(PLL 4)、Video PLL(PLL 5)、ENET PLL(PLL 6) 、USB2 PLL(PLL 7)//开启 Video PLL锁相环时钟 输出, (注释掉, 关闭 Vi...原创 2020-04-17 15:35:32 · 2153 阅读 · 0 评论 -
NXP NVIC(嵌套向量中断管理器) 优先级分组
NXP NVIC(嵌套向量中断管理器) 优先级分组Cortex-M3允许具有较少中断源时使用较少的寄存器位指定中断源的优先级,因此STM32把指定中断优先级的寄存器位减少到4位,这4个寄存器位的分组方式如下:第0组:所有4位用于指定响应优先级第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级第3组:最高3位用于...原创 2020-04-17 15:34:06 · 1077 阅读 · 0 评论 -
RT1052 ENET ENET_SendFrame调用 未发送帧
RT1050 ENET ENET_SendFrame调用 未发送帧问题描述遇到的问题:再调试ICMP协议栈时, 另外一台嵌入式主机 ping 出现了掉包 time达到几千毫秒 以及 (DUP!)实际问题:在RT1050 SOC中开发 ENET 的BSP包, 调用ENET_SendFrame并返回成功,然示波器检测发现,ENET发送脚每发送两帧数据却只发送一帧数据。开发环境RT-Threa...原创 2020-04-01 14:08:02 · 645 阅读 · 0 评论 -
RT1052 ENET ENET_GetRxFrameSize kStatus_ENET_RxFrameEmpty问题
RT1050 ENET ENET_GetRxFrameSize kStatus_ENET_RxFrameEmpty问题问题编写RT1050的ENET的BSP时, 当接收中断响应时,去读取数据,使用 ENET_GetRxFrameSize 获取接收帧大小,但返回 kStatus_ENET_RxFrameEmpty具体解决问题的步骤我就不描述,直接给出问题的原因,以及相关疑问解决问题原因就在...原创 2020-03-31 11:12:01 · 1485 阅读 · 2 评论 -
RT1052 rtthread 报错"FPU active!" "UNALIGNED"
RT1052 rtthread 报错"FPU active!" “UNALIGNED”问题RT1052 rtthread 报错"FPU active!" “UNALIGNED”开发环境RT-Thread: v4.0.2(master)SOC: i.MX RT1050Board: 野火 RT1052问题背景我创建了一个线程去解析UDP数据, 而数据形式是我定义好的一个结构体的形式, ...原创 2020-03-27 16:03:33 · 2708 阅读 · 0 评论 -
字节序与不同数据类型指针 取值
字节序与不同数据类型指针 取值测试环境SOC: i.MX RT1052核心板: 野火RT1052/* 输出结果:00 01 02 03 04 05 06 07 08 09 0a 0b 0201 0403 0605 0807 0a09 000b 0201 0403 0605 0807 0a09 000b 04030201 08070605 000b0a09*/uint8_t da...原创 2020-02-11 11:37:37 · 196 阅读 · 0 评论 -
驱动开发-裸机驱动阅读-野火RT1052公共驱动代码解析
驱动开发-裸机驱动阅读-野火RT1052公共驱动代码解析#define IOMUXC_GPIO_B1_04_ENET_RX_DATA00 0x401F818CU, 0x3U, 0x401F8434U, 0x1U, 0x401F837CUstatic inline void IOMUXC_SetPinMux(uint32_t muxRegister, ...原创 2020-01-08 17:44:21 · 970 阅读 · 0 评论 -
野火 RT1052 移植网卡功能(LAN8720A)
野火 RT1052 移植网卡功能(LAN8720A)开发环境RT-Thread: v4.0.2(master)SOC: i.MX RT1050Board: 野火 RT1052目的在 RT-Thread 系统上进行网络通讯原创 2020-01-08 17:34:59 · 3922 阅读 · 2 评论 -
常用函数
常用函数/* * 打印二进制数 * num: 输入的十进制数 * reserved_bit: 保留输出低位多少位 */void print_bin(int num, char reserved_bit) { char size = sizeof(int) * 8; reserved_bit = size > reserved_bit ? reserved_bit : size...原创 2019-04-13 18:46:32 · 236 阅读 · 0 评论 -
falcon-agent arm架构 执行程序生成
安装 golang [1.4+]yum install golang下载 falcon 文件,以及相关部署 GOPATH是go语言运行的环境,go 命令时的程序路径就是此路径export GOPATH=/root/gomkdir -p $GOPATH/src/github.com/open-falconcd $GOPATH/src/github.com/open-falcongit ...原创 2018-11-27 11:44:38 · 549 阅读 · 0 评论 -
全志编译环境分析
全志编译环境分析(cqa64_ubuntu16.04_bv3_20180515)~/: 编译环境的根目录${LICHEE_BR_DIR} ~/buildroot/${LICHEE_BR_OUT} ~/out/${chip}/${platform}/common/buildroot/ ~/out/sun50iw1p1/ubuntu16/c...原创 2018-08-17 17:15:49 · 1375 阅读 · 0 评论 -
ARM之解决问题方法
如何查找问题锁定当前问题范围,比如说是led不亮,那就是led的问题;如果中断没触发,那就是中断问题整理当前问题的代码编写流程: 比如中断问题: 1).先配置GPIO口为中断 2).配置EXTINT外部中断 3).配置interrupt controla.配置分发器b.配置cpu interfacec.中断触发后,在中原创 2018-01-16 11:42:13 · 461 阅读 · 0 评论 -
单片机开发重点-字节对齐问题
单片机开发重点-字节对齐问题在缺省情况下,C编译器为每一个变量或是数据单元按其自然对界条件分配空间。一般地,可以通过下面的方法来改变缺省的对界条件:使用伪指令 #pragma pack(n),C编译器将按照n个字节对齐。使用伪指令 #pragma pack(),取消自定义字节对齐方式。另外,还有如下的一种方式:__attribute((aligned (n))),让所作用的结构成员对...原创 2020-03-27 15:49:01 · 2367 阅读 · 0 评论 -
硬件延时任务--hwdelay_task
hwdelay_task.h#ifndef _HWDELAY_TASK_H_#define _HWDELAY_TASK_H_#include <rtthread.h>#include <stdint.h>#define DELAY_MAILBOX_MAX 5/* * 值为10us, 那么该延时任务的误差就有10us, 该值设置要大量测试 * 10u...原创 2020-03-23 14:18:29 · 318 阅读 · 0 评论 -
rtthread 字节对齐问题 int指针访问非对齐地址崩溃
rtthread 字节对齐问题现象:使用rtthread master版 生成的工程运行后会出现以下问题, 但使用裸机程序, 或者 rtthread naon版 运行后不会出现以下问题./* 1.内存 堆区 a.uint32_t* 类型, 所指向的地址必须是四字节对齐 b.uint16_t* 类型, 所指向的地址必须是两字节对齐...原创 2020-02-28 16:15:58 · 2067 阅读 · 0 评论