自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JCY博客

一起走过的人生路

  • 博客(44)
  • 资源 (15)
  • 收藏
  • 关注

原创 龙芯内核板级编译注意事项

内核寄存器定义文件:arch/mips/include/asm/mach-loongson2/ls2k.h

2020-05-21 11:01:23 208

原创 C语言输出基本类型的占用字节数

#include <stdio.h>int main(int argc, char **argv){ printf("sizeof(char) = %d\n", sizeof(char)); printf("sizeof(signed char) = %d\n", sizeof(signed char)); printf("sizeof(unsigned ...

2019-12-30 10:15:33 2012

原创 perf火焰图

此文件中也摘要了其他网站部分内容备注:仅适用perf命令,也能看到性能信息,火焰图会更加直观。当适用产生火焰图比较费劲时,可直接适用perf命令看性能信息第一、 查看linux系统是否支持perf 如果支持linux系统,linux内核必须让CONFIG_HAVE_PERF_EVENTS=yCONFIG_PERF_USE_VMALLOC=y在已运行中的linux系统...

2019-12-26 11:39:48 420

原创 libase64移植

目标为mips平台,需要在CFLAS中添加"-mxgot"选项,否则报错“lib/libbase64.o: CALL16 reloc at 0x618 not against global symbol”1、编译源码进入源码根目录,执行#make CC=mips64el-loongson-linux-gcc LD=mips64el-loongson-linux-ld ...

2019-12-03 16:01:55 292

原创 linux C语言信号和操

仿照QT中信号和操的底层实现机制,将其在纯C的linux平台下实现,特点:1、采用Qt底层实现方式,实现纯C试下你的2、事件和槽函数机制3、事件驱动4、信号和操的连接方式可以有两种“直接连接”和“队列连接”直接连接:发射信号方法退出时,已经执行完成,队列连接:发送信号后,由事件驱动来完成槽函数调用。后期改进:当前函数的参数使用结构体传递参数,以后改进将使用("%d%...

2019-11-25 09:44:52 259

原创 linux C语言finsh

环境: 主机:ubuntu16.04 编译器:arm-xilinx-linux-gnueabi-gcc 目标机:zynq7000,32bit 版本:4.9.2环境: 主机:ubuntu16.04 编译器:gcc 目标机:本机,64bit 版本:5.4.0 主机上编译,使用命令时必须把下面内容中的"arm-xilinx-l...

2019-11-25 09:25:11 419

原创 QT程序发布打包

第一、软件发布1、发布命令进入执行程序文件夹,运行如下命令即可打包#windeployqt 程序名第一、软件打包成安装包 打包是使用的软件为"inno Setup Compiler"打开"inno Setup Compiler"软件,软件界面如下图所示:点击菜单栏"File"->"New",进入如下界面:直接点击"Next",输...

2019-09-28 16:26:53 109

原创 jsonrpc-c编译

for X861、#autoreconf -i如果报错连续执行两次,执行后会产生configure文件。2、打开configure文件,在12658行附近的内容,更改如下:# Check whether --with-libev was given.if test "${with_libev+set}" = set; then : withval=$with_libev...

2019-08-15 13:53:50 561

原创 挂载nfs文件系统

1. 从设备挂在开发机目录 1.1. Ubuntu启动nfs服务器 假设本机ubuntu的IP地址为”192.168.1.77”,使用root用户登录 使用如下命令启动nfs服务器 #sudo /etc/init.d/nfs-kernel-server restart 备注:前提需要安装nfs服务器,“#ps –e”出现nfsd进程说明,已经安装nfs服务器 在/et...

2019-08-10 10:08:45 622

原创 SNMP 使用snmptrap发送trap帧

#/bin/shOidWarnHead=1.3.6.1.4.1.53151.2.15.4.1targetIp=172.16.101.34targetPort=162trapOid=1.3.6.1.4.1.53151.3.1warnIdOid=${OidWarnHead}.1.0warnIdVal=1500000200warnSnOid=${OidWarnHead}.2.0...

2019-08-08 19:12:25 2316

原创 VUE前端框架学习-自己已存在vue测试工程的开发要点

我的vue.js前端test工程,学习记录第一、重要开发工具vue:是一套用于构建用户界面的 前端框架。学习网址:https://cn.vuejs.org/v2/guide/vuex:是一个专为 Vue.js 应用程序开发的状态管理模式,集中式存储管理应用的所有组件的状态。学习网址:https://vuex.vuejs.org/zh/vue-cli:是用vue开发的脚手架,可方便...

2019-08-08 11:42:20 163

原创 paho.mqtt.c移植

1、make CC=arm-linux-gcc2、编译出的库文件在"build/output"文件夹下3、用户应用使用的头文件存放在"src"目录,包括MQTTAsync.h MQTTClient.h MQTTClientPersistence.hMQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h...

2019-08-05 10:35:01 1136 1

原创 socat 移植与简单实用

socat的版本为socat-1.7.3.31、./configure --host=x86_64 CC=arm-linux-gcc --prefix=$PWD/arm2、make3、make install实例:第一、一端是unix服务器,一端是tcp客户端unix-server<->tcp-client1、创建一个本地tcp服务器...

2019-08-05 10:12:32 1031

原创 socat 实现串口转网络(监听)

1、首先建立虚拟串口,命令如下:#socat -d -d PTY PTY 返回如下:2019/08/02 11:07:08 socat[57130] N PTY is /dev/pts/92019/08/02 11:07:08 socat[57130] N PTY is /dev/pts/102019/08/02 11:07:08 socat[57130] N st...

2019-08-02 14:37:46 4640

原创 SSH建立隧道,网络数据包转发

第一、本地端口转发结构实例:内网无法上网通过能上网的某个设备连接外网服务器设备C(内网客户端) <---局域网---> 设备B <-----外网--->设备C(外网服务器) 设备A 设备B 设备C ...

2019-08-02 11:37:28 424

原创 nc命令 实现网络转发

第一、代理1情形描述: 1、客户端A(ClientA)和客户端B(ClientB),实现相互通信 2、ClientA连接到的端口号为6000,ClientB连接到的端口号为7000 3、ClientA和ClientB可以放在不同机器 实现说明: 1、借助代理,实现数据的转发 2、由于管道是单向传输,若需要实现ClientA和ClientB双向通...

2019-08-02 11:33:05 5386

原创 socat 在linux上创建虚拟串口

1、下载socat源码,并安装2、执行如下命令,创建两个虚拟串口#socat -d -d PTY PTY该命令的回复提示如下:若是虚拟的串口一直有效,必须使socat一直运行。当前产生的虚拟串口为"/dev/pts/9"和"/dev/pts/10"。这两个串口可互相通信了。3、测试 使用"minicom -D /dev/pts/10 -b ...

2019-08-02 11:12:40 5766 1

原创 C/C++嵌入式远程调试

1、在远程主机启动命令(在远程主机上执行)gdbserver 172.16.200.13:10000 ./goahead -v $PWD/webs/dist 172.16.200.13:802、本地主机启动命令(在X86平台上执行)arm-linux-gdb ./goahead命令执行后,将会进入gdb的命令操作输入"target remote 172.16.200.1...

2019-07-31 11:19:53 345

原创 python3、django 嵌入式移植方法

主机:X86-64,嵌入式平台:zynq,gcc版本:4.9.2$、解压Python-3.7.2.tgz,此为python的源码包,解压后出现"Python3.7.2"文件夹$、进入python3.7.2文件夹,创建"zynq-install"文件夹。$、执行下面的命令,产生Makefile文件../configure CC=arm-xilinx-linux-gnueabi-gcc \...

2019-06-10 15:48:18 1357

原创 C语言GDB 远程调试技术

1、在远程主机启动命令(在远程主机上执行,远程主机IP地址:172.16.200.13)gdbserver 172.16.200.13:10000 ./goahead -v $PWD/webs/dist 172.16.200.13:802、本地主机启动命令(在X86平台上执行)arm-linux-gdb ./goahead命令执行后,将会进入gdb的命令操作输入"targe...

2019-02-18 14:03:14 524

原创 WIFI模块使用心得

WIFI模块使用心得 作者:JCYQQ:1157525568时间:2004:05:12WIFI模块的名字:KIT-V2.3  此WIFI模块有四种模式:默认模式、串口到以太网模式、串口到WIFI client模式、串口到WIFI AP模式。如何进入网页设置界面:1、复位出厂设置后,模块处于默认模式,通模块的以太网口。2、登录模块产生的热点,也可以进入网页

2014-05-29 22:44:54 9318

原创 shell 编程记录

此为学习linux shell的学习记录

2014-05-22 19:09:24 793

转载 关于字节对齐,和程序优化有关

[转]关于字节对齐,和程序优化有关 值得一看一.什么是字节对齐,为什么要对齐    现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。    对齐的作用和原因:各个硬件平台对存储空间的

2013-05-08 11:27:06 620

原创 uCOS3空闲任务

作者 :JCYQQ :1501614847CSDN :JCY-JCY来自09级安徽宿州学院电子创新实验室此文中对uCOS3空闲的理解,若有错误之处请指出,不胜感激!此文中所有内容仅是个人见解,不代表任何机构!原来也分析过uCOS2的源码,对uCOS2中使用的对象在uCOS2当中怎么运作从源码级进行了解析。其实在《嵌入式实时操作系统 uC/OS2》这本书中也有,这本书中提

2013-03-31 10:32:42 2125 1

原创 uCOS2内存管理

uCOS2内存管理 第一、内存管理数据架构1第二、OS_MemInit函数说明3第三、OSMemCreate函数说明4第四、OSMemGet函数说明6第五、OSMemPut函数说明6第六、OSMemQuery函数说明7第七、OSMemNameGet和OSMemNameSet函数说明8作者:JCY来自09级安徽宿

2013-01-08 08:52:51 2103

原创 uCOS2调度原理总结

uCOS2内核调度原理作者:JCY来自09级安徽宿州学院电子创新实验室此文中对uCOS2内核调度的理解,若有错误之处请指出,不胜感激! 在uCOS2操作系统当中有程序会处于五种状态:运行态、就绪态、挂起态、睡眠态、中断服务态。运行态:某一个任务正在运行,独占CPU的使用权。l 就绪态:某一个任务已经有了运行的准备,可以随时被调度。l 挂起态:某一个任务需要等

2013-01-06 14:54:46 3287 1

原创 uCOS2_CPU利用率的实现

uCOS2中的利用率作者:JCY此文中是对统计任务理解,若有错误之处请指出,不胜感激!在uCOS2操作系统当中可以得到CPU的利用率,计算利用率是通过一个任务来计算的,任务的名字叫“OSTaskStat()”.如果要使用任务需要将OS_CFG.H头文件中的OS_TASK_STAT_EN宏定义为真。这样你就可以在程序中使用任务统计功能了。如果应用程序打算使用统计任务,那么你必须在

2013-01-06 14:49:25 2663 1

原创 学生管理系统

/***************************************************学生管理系统***************************************************/#include#include#include#define YES   1#define NO   0#define DEBUG NO  //是

2012-12-15 09:39:21 610

原创 冒泡排序法

#include#include#include#define YES#define NO#define DEBUG YES//调试信息#define N  5int main(int argc, char *argv[]){ int i , j; int array[N] = {6 , 5 , 4 , 3 , 2 }; int temp;  f

2012-12-15 09:32:27 407

原创 STM32第二功能引脚映射

STM32部分外设的第二功能引脚映射作者:JCY时间:2012年12月11日STM32F是ST(意法半导体公司)的产品,本芯片的设计支持了芯片上部分外设第二功能的引脚映射。这为设计STM32的电路板提供了方面,大大简化了电路的设计。当第一次看到AFIO功能的时候感到很困惑,一直不理解,但是最近突然明白了。不敢独享,写此文章与大家分享。本文章纯属个人的理解,如有任何的错误之处请指正,

2012-12-13 19:31:36 4557

原创 QT常用的类和函数总结

作者:JCY 此文是在学习QT的时候所用到的一些函数,因为函数在一段时间后会遗忘,所以将他们记录下来。 QPushButton  setText("OK"); 设置按键显示的姓名,例如设置为“OK”setShortcut( QKeySequence(tr("Ctrl+k")) ) //设置按钮的快捷键,例如:设置为“Ctrl + k” 。setEnabled(true)

2012-11-29 16:52:41 4850

原创 QT应用软件ARM板上运行

QT程序如何在ARM板上运行作者:JCY此文章改动了别人的,并添加了一些非常重要的内容,以供大家参考。在此文中如有错误之处,请给予指正。 让QT应用软件在开发板上运行显示      写这篇文章,主要是为了说明怎么让PC机下编译好的QT程序移植到板子上运行。在说明之前,我们要了解一个事情,就是QT。QT是一个跨平台的开发工具,具有很好的移植性,它所依赖的库文件在PC机上和在ARM

2012-11-29 16:40:45 1770

原创 S3C2440,Linux,LCD驱动

LCD驱动学习总结到了神秘的LCD驱动了,信息还真有点胆怯,但是还是不得不走下去。对刚刚学习的linux驱动坐一下总结,毕竟是Linux内核当中的东东,而且是那么的繁琐。做一总结,等用笔记把学过东西几下来,这样就不会忘了。哈哈!那就开始!!!在编写裸机LCD程序的时候,首先就是硬件初始化操作。有一个寄存器当中存放了帧缓冲的起始地址。这个参数是非常重要的。当配置好硬件后,帧缓冲中的数

2012-11-29 16:31:45 662

原创 触摸屏驱动总结

触摸屏驱动 作者:JCY 此文章是学习了触摸屏一段时间后所写,在文中如有错误之处,请指正,将不胜感激。开始将触摸屏驱动吧!在Linux的内核中触摸屏驱动是基于输入子系统来设计的。现在先说一下输入子系统。原来编写的字符设备驱动模块中会定义一文件操作接口变量,通过该变量中的函数指针成员来操作相应的硬件。你也许会发现他们的程序框架是一样的。各种输入设备也能够使用字符设备驱动框架,

2012-11-29 16:26:31 688

原创 Linux下平台设备驱动

第一、 首先进入\arch\arm\plat-s3c24xx\devs.c文件中,在最后一行定义设备/* my_led device author : jiang chuan yu*/static struct resource s3c_my_led_resource[] = {[0] = {.start = S3C24XX_PA_GPIO,.end   = S3C

2012-11-29 16:22:53 1010

原创 如何将驱动编译进入内核

如何将驱动编译进入内核当你以模块的形式编译模块并且能够达到预想的效果,那么这样就可将模块编译到内核了,将模块编译到内核是很简单的。第一、 进入linux-2.6.30.9/drivers文件夹,在文件夹中建立一个文件夹(名字可以和驱动的文件名一致)char_led。第二、 将能够实现预想效果的驱动文件char_led.c复制到此文件夹char_led文件夹下第三、 在char_

2012-11-29 16:16:22 539

原创 linux下的字符设备驱动

字符设备驱动总结作者:JCY此文章是学习了一段时间的linux字符设备驱动所写,在文中如有错误之处请指正,将不胜感激。 写了裸机那么长时间了,终于接触到了linux 驱动程序的设计,当然最简单的驱动程序没有涉及到与设备相关的知识,知识了解一下模块的加载。说到模块的加载,就想写C语言和C++接触到的一个程序hello一样,我们第一个接触到的最简单的模块的加载也是hello。我写了

2012-11-29 16:14:31 467

原创 S3C2440的汇编中常用的位置无关和位置相关指令

位置无关与位置相关看了一段时间的S3C2440的bootloader后,感觉在bootloder程序中经常会用到B,BL指令。他们是位置无关的代码,指令中所跳转的目标地址用基于当前PC的偏移量来表示,与链接时分配给地址标号的绝对地址值无关,因而代码可以在任何位置进行跳转,实现位置无关性。在bootloder也用到了位置无关的指令LDR(只对PC操作时才位置无关),例如LDR  PC,

2012-11-29 16:07:48 1115

原创 S3C2440时钟计算

S3C2440时钟计算作者:JCY学习一段时间的S3C2440,将其系统时钟的来源进行说明,如有错误之处请指正,将不胜感激。Mpll = (2*m * Fin) / (p * 2s)m = M (the value for divider M)+ 8, p = P (the value for divider P) + 2时钟FCLK为ARM内核CPU运行的时钟 FCLK =

2012-11-29 15:56:35 451

原创 S3C2440的启动

S3C2440的启动本文章是学习过一段时间S3C2440所写,如有错误之处请指正。将不胜感激!S3C2440有两种启动模式一、NandFlash启动模式NangFlash的价格便宜,但是它不是直接连到CPU的总线上。但是在S3C2440中有NandFlash控制器,通过控制器来访问外部的NandFlash。由于CPU不能通过地址和数据总线直接访问NandFlash,那么当设置为该启

2012-11-29 15:54:01 513 1

Qt状态机代码测试.rar

Qt 纯代码的状态机测试,测试了状态机间的多迁移。使用了字符串名作为事件,发送事件时只需要发送字符串的事件

2020-06-01

linux平台运行的finsh代码,支持64bit平台

实现rthread中的finsh部分在linux上运行,即将rthread中的finsh组件从rthread中抽离出来,并在linux系统上运行。此代码支持64bit平台!

2019-12-28

linux平台C语言信号和操的实现

在linux平台上仿照Qt实现的纯C语言信号和操,采用事件驱动。本代码采用libev进行测试,亦可集成在有事件驱动(epoll,select)中。

2019-11-25

linux平台运行的finsh代码

实现rthread中的finsh部分在linux上运行,即将rthread中的finsh组件从rthread中抽离出来,并在linux系统上运行。在64bit系统上,当出现FSymTab和VSymTab表存放的FINSH和MSH函数或者变量地址大于32bit时,会出现段错误。

2019-11-25

dlmode.tar

C语言运行时加载,在该代码中包含了,运行时调用动态库的方法,这个是相对比较简单,并且可以被看懂的代码

2019-11-11

ufsm-学习资料以及相关软件.rar

ufsm状态机使用方法和starUML的软件。为开发UML状态里提供了方便。

2019-08-12

SSH建立隧道.txt

SSH建立网络隧道,第一、本地端口转发,第二、远程端口转发

2019-08-02

rpc远程调用库C语言实现

利用JSON格式,作为数据体,进行程序间的RPC调用,代码简单、方便。

2018-09-15

C语言正则表达式库

C语言正则表达式库,兼容perl的正则表达式库,使用简介、方便

2018-09-15

C++设计模式源码

包括创建型模式、行为型模式、结构型模式、模板模式!

2018-09-15

netcat nc 命令网络转发的使用实例

在linux shell端使用nc命令实现网络间数据的转发,包括代理功能、客户端间传递数据。不同网段的服务器和客户端间传送数据

2018-09-15

uCOS2 内部软件定时器实现

主要描述了,在uCOS2操作系统软件定时器是如何实现的。

2013-09-10

uCOS2 的信号量内部机制

主要描述了uCOS2的内部如何实现信号量的功能。

2013-09-10

任务调度(uCOS2)

从最底层的代码开始续说uCOS2是如何实现任务调度的

2013-01-06

S3C2440 裸机程序

S3c2440的裸机程序,除了I2S外,各模块之间完全独立。并有相应的测试函数。

2012-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除