- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 笔试1嵌入式软件
1、下面c代码的作用是反转一维数组。运行结果是:#include <stdio.h>int reverse_array(int *list,int len){ int *p1 = list,*p2 = list+len-1; int temp; if(len <= 0) { return -1; } while(p1 != p2) { temp = *p1; *p1 = *p2; *p2 = temp; p1++; p2++; } r
2021-07-31 10:42:48
245
原创 mini2440-按键控制LED
crt0.S@******************************************************************************@ File:crt0.S@ 功能:通过它转入C程序@****************************************************************************** .text.global _start_start: LDR r0,=0x53000000
2020-06-03 07:21:27
401
原创 mini2440裸板程序-c语言点亮led
1、开发C语言程序的时候,一般都是使用main函数作为入口,而main函数仅仅只是一个函数而已,那么他一定需要被别人来调用,同时将返回值返回给调用者。那么在我们在开发的时候LED点亮的时候,没有人来调用我们的函数,所以我么需要自己来做这些工作。2、硬件方面的初始化:关闭看门狗3、软件方面的初始化:设置栈 :把栈指针sp指向某块内存4、硬件和软件的初始化被称之为启动文件,而该启动文件是一个汇编代码启动文件crt0.S.text.global _start_start: LDR .
2020-06-01 22:18:50
423
原创 mini2440的裸板程序-tftp烧写
1、得使用好用到uboot加裸板程序2、裸板程序如下:ledon.S.text.global _start_start: LDR R0,=0x56000010 @R0设置为GPBCON寄存器。此寄存器用于选择端口B各引脚的功能:是输出、输入或者其他 MOV R1,#0x00001400 @设置R1=0x00000100,LED1 on,LED2 off,GPB5/GPB6 output port, @GPB5,bit11:bit10=0b01;GPB6,bit13:bit1.
2020-05-31 08:22:23
320
原创 mini2440 SD卡脱机烧写恢复
1、友善之臂使用SD卡脱机烧写系统,必须nor flash烧写官方提供的superuboot。烧写Superboot2440到Nor Flash老客户需要利用Jtag工具,烧写Superboot2440.bin到Mini2440的NorFlash中。新购买的用户,在开发板出厂时,Superboot已被烧写到Mini2440的Nor Flash中。2 、如何使用Jtag工具烧写,请参考博文。https://blog.youkuaiyun.com/u012857368/article/details/52945
2020-05-30 08:33:55
403
原创 gstreamer1.0安装在Ubuntu的相关问题(gstreamer学习一)
1、gstreamer1.0在Ubuntu12.04安装很麻烦,最好在Ubuntu18之后。2、VMware Workstation Pro 15.5.0 官方中文完整版下载https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.5.0-14665864.exeVMware Works...
2019-11-17 13:31:03
1184
原创 ffmpeg移植到arm,配置编译
整个移植过程分三个步骤:(1)编译x264;(2)编译ffmpeg;(3)移植成功1)编译x264官网上下了个最新的x264,地址http://www.videolan.org/developers/x264.htm我下载的文件是last_x264.tar.bz2。120版本地址http://pan.baidu.com/s/1jG81TSq进行如下配置后,就可以编译,在Ub...
2019-10-29 07:45:49
2901
2
原创 进程间通信-共享内存-互斥锁同步(一)
代码参考网上其他人的,分三个文件sm_common.h#ifndef __SM_COMMON_H__#define __SM_COMMON_H__ #include <pthread.h> #define SM_BUF_SIZE 1024#define SM_ID 0x1122 struct sm_msg{ int flag;//标志位,0代表在写,1表示...
2019-09-30 08:00:35
1478
原创 简单的:嵌入式linux下u盘升级的设计
使用u盘,把相应的应用程序,比如:myapp文件拷到linux系统下。插入u盘,开机后,主动监测u盘中是否有相应的应用程序myapp,如果有,就拷贝到相应的路径下,代替掉原来的应用程序文件,重启后,就是启用新的应用程序文件。代码如下所示 :#include <stdio.h> #include <stdlib.h> #include <sys/types.h&...
2018-07-02 10:16:34
3144
4
原创 Ubuntu和pc主机共享文件设置
此文件夹就是:root@ubuntu:/mnt/hgfs/shareubuntu# pwd/mnt/hgfs/shareubuntu
2018-06-29 16:01:13
2597
原创 linux启动板子后直接启动app应用程序。
(1)在板子上首先把可执行程序拷贝到相应的区域。vi /etc/init.d/rcScd /mnt/sd/./autorun(2)vi autorun #!/bin/shmkdir -p /mnt/flag./app
2018-06-29 15:46:18
1614
原创 Doxywizard 代码注释及生成帮助文档chm、pdf
1、Doxygen C++注释规范请参考:https://blog.youkuaiyun.com/liuyinghui523/article/details/251434052、Doxywizard如何使用请参考:https://blog.youkuaiyun.com/chenyujing1234/article/details/191153193、Doxywizard如何生成pdf文件:Introduction ...
2018-05-31 14:18:25
1777
原创 BBB板子中的GPIO引脚中断输入,下降沿触发
#include<stdlib.h>#include<stdio.h>#include<string.h>#include<unistd.h>#include<fcntl.h>#include<poll.h>#define MSG(args...) printf(args) //函数声明static int...
2018-05-17 14:22:06
1701
原创 linux下,应用程序如何操作GPIO(BBB板子中的GPIO为例)
cd /sys/class/gpio使用P8.12引脚echo 44 > export cd gpio44cat direction1. 导出/sys/class/gpio# echo 44 > export2. 设置方向/sys/class/gpio/gpio44# echo out > direction3. 查看方向/sys/class/gpio/gpio44# cat d...
2018-05-17 14:03:33
2803
原创 c语言中的超时机制
运行程序时,如果在一定时间内,程序中的一个功能还没有执行,此时,就要使用超时机制,跳出循环,报错或者终止程序执行。#include <stdio.h>#include <sys/time.h>void main(){ float time_use=0; struct timeval start; struct timeval end;//struct tim...
2018-05-17 13:32:27
17337
原创 实现简单的输入编辑,录入正确的字符串,出现‘$’,表示撤销前一个输入, 发现连续的‘$’,表示连续撤销前面的输入;发现‘%’,表示放弃前面所有录入; 生成最终结果。
#include #include /*描述: 实现简单的输入编辑,录入正确的字符串,出现‘$’,表示撤销前一个输入, 发现连续的‘$’,表示连续撤销前面的输入;发现‘%’,表示放弃前面所有录入; 生成最终结果。运行时间: 无限制内存限制: 无限制输入: 输入含有编辑信息的字符串输出:
2016-02-24 14:12:25
1095
原创 函数的strlen、memcpy、strcmp的实现
1、my_strlen#include int my_strlen(char *src){int n=0;if(src==NULL){printf("src is NULL!\n");return 0;}while(*src!='\0'){src++;n++;}return n;}void main(){int a
2016-01-28 21:29:01
316
原创 字符串操作strcpy、strstr、strcat函数如何实现
1、my_strcpy:#include char *my_strcpy(char *des,const char *src){char *tmp;//char *tmp=des;等同tmp=des;if(des!=NULL || src!=NULL)// 判断指针是否为空?{printf("des or src NULL!\n");return NULL;
2016-01-28 21:20:47
561
原创 static的用法
总共三点:1、变量前面加static,则此变量只能在本模块中使用,本地全局变量。2、函数内变量加static,其他函数调用此函数,其值保持上次修改的不变。3、函数前面加static,此函数只能被本模块中的函数调用,其他函数不能调用。相应的测试代码如下:(本模块,本人理解为相应的.c源文件)文件main.c:#include #include "common.h"st
2016-01-23 19:17:24
256
原创 自己的网络字节序转换代码(大小端字节序)
#include #define BIGENDIAN 1#define LITTLEENDIAN 0//定义16、32、64位的调位函数。这里就是字节“搬家”而已。#define SWAP16(s) ((((s)&0xff)>8)&0xff))#define SWAP32(l) (((l)>>24)|\(((l)&0x00ff0000)>>
2016-01-22 17:31:02
689
原创 大端小端详解
1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。存储数据0x1234,大端小端模式存储如下:内存地址0x40000x4001大端模式 0x120x34小端模式0
2016-01-18 21:20:02
371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人