- 博客(111)
- 资源 (16)
- 收藏
- 关注
转载 Working with Strings
对windows下的string讲得很清楚https://docs.microsoft.com/en-us/windows/desktop/LearnWin32/working-with-strings
2019-02-19 09:47:57
227
原创 MFC过时了吗?
公司PC软件使用MFC写的,我接手了(之前一直搞嵌入式linux),在网上查了一下MFC,挺老的技术,很多人对MFC是否过时的问题争得不可开交,我也不知道听谁的好.后面看不下去了,去microsoft官网对比了一下windows PC编程的各种技术,豁然开朗,分享一下网址: https://docs.microsoft.com/en-us/windows/desktop/choose-your-t...
2019-02-19 00:22:07
7272
2
原创 linux下C C++调用C#
旧的MFC项目调用的一些库用C#来写(编译成DLL库),现在项目要移植到linux下,也想在linux下用C来调用C#,linux不支持C#,需要安装linux下C#的运行环境mono。 调用原理大概是这样子的,linux下的C/C++不能直接调用C#函数的,而是通过mono提供的api,创建一个C#的运行环境,在该环境中中创建C#类,再通过mono api间接调用C#。 mono的安装参考w...
2018-08-03 11:25:56
3383
原创 linux通过poll方式检测sd卡的插拔
做样机时,硬件攻城狮忘了给SD卡连card detect引脚,硬件中断检查SD卡的插拔是不可能了,还好linux的SD驱动可以通过poll的方式检查卡的插拔,给mmc->caps加上MMC_CAP_NEEDS_POLL标示位后,内核会启动一个线程通过发命令的方式来检测卡是否存在. mmc->caps |= MMC_CAP_NEEDS_POLL;...
2018-07-26 23:40:30
2688
1
原创 SetWindowOrg,SetViewportOrg,SetMapMode
最近在看windows GDI画图的相关代码,这几个函数把绕昏了,查了很多资料并且做了很多实验才搞懂
2018-01-12 17:45:12
352
原创 java Excption example
public class ThrowException {class InsufficientException extends Exception { private double amount; public InsufficientException(double amount) { this.amount = amount; }
2017-05-15 11:53:49
498
转载 ISO/IEC 14443协议浅谈:TYPE A与TYPE B
ISO/IEC14443规定了邻近卡(PICC)的物理特性;需要供给能量的场的性质与特征,以及邻近耦合设备(PCDs)和邻近卡(PICCs)之间的双向通信;卡(PICCs)进入邻近耦合设备(PCDs)时的轮寻,通信初始化阶段的字符格式,帧结构,时序信息;非接触的半双功的块传输协议并定义了激活和停止协议的步骤。传输协议同时适用于TYPE A 和 TYPE B。 TYPE A和TYPE B型卡片
2017-01-24 09:40:15
26409
4
原创 u-boot怎样生成spl
u-boot怎样生成spl u-boot版本:2016.05顶层Makefile定义生成spl: 生成spl需要的BOARD,CPU等变量的由来:顶层Makefile包含了.config .config包含了配置的cpu,板级信息 顶层Makefile包含了config.mk, arch/arm/Makefile也被包含了进来,arch/arm/M
2017-01-16 19:35:33
1743
转载 字符编码笔记:ASCII,Unicode和UTF-8
作者: 阮一峰日期: 2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得
2016-12-06 14:43:26
541
2
转载 Unicode(UTF-8, UTF-16)令人混淆的概念
为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的01串时肯定会比较头晕的,所以很多时候为了描述简单都用十进制,十六进制,八进制表示.实际上都是等价的,没啥太多不一样.其他啥文字图片之类的其他东东计算机不认识.那为了在计算机上表示这些信息就必须转换成一些数字.你肯定不能想怎么转换就怎么转,必须得有定些规则.于是刚开始的时候就有AS
2016-12-06 14:42:00
404
转载 用ISO C++实现自己的信号槽(Qt另类学习)
有网友抱怨:哪个大牛能帮帮我,讲解一下信号槽机制的底层实现? 不要那种源码的解析,只要清楚的讲讲是怎么发送信号,怎么去选择相应的槽,再做出反应。也就是类似于一个信号槽的相应流程。。。求解啊!!! 看了源码,真的是一头雾水。。。撞墙的心都有了~~~~本文使用 ISO C++ 一步一步实现了一个极度简化的信号与槽的系统 (整个程序4个文件共121行代码) 。希望能有助于刚进入Q
2016-12-05 20:43:21
707
转载 从C++到Qt
最近做QT项目,在网上看到一篇很好的入门文章,转过来以后备用原文发布在百度空间,但由于百度空间屡次改版,越改越差,以至于有关闭可能,故而转移到此 http://blog.debao.meQt 是 C++ 的库,Qt 在 ansi C++ 的基础上进行了一点扩展。但国内似乎比较浮躁,学Qt的很多连基本的C++如何编译似乎都不太清楚。本文舍弃IDE或
2016-12-05 20:37:12
9080
转载 #pragma pack(n)和__attribute__((aligned(m)))的区别
C语言 #pragma pack(n)和__attribute__((aligned(m)))的区别
2016-09-05 10:45:58
3626
转载 NFS /etc/export配置
nfs服务器的配置,配置文件/etc/exports:ro 该主机对该共享目录有只读权限rw 该主机对该共享目录有读写权限root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户no_root_squash 客户机用root访问该共享文件夹时,不映射root用户all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
2016-06-02 21:27:31
5166
转载 使用 Socket 通信实现 FTP 客户端程序
今天在用到FTP编程,在IBM developerWorks看到一篇很好的文档,果断转过来,原文地址-http://www.ibm.com/developerworks/cn/linux/l-cn-socketftp/使用 Socket 通信实现 FTP 客户端程序FTP 客户端如 FlashFXP,File Zilla 被广泛应用,原理上都是用底层的 So
2016-05-19 09:57:32
7232
1
转载 linux uevent分析
1.kobject, ktype, ksetkobject代表sysfs中的目录。ktype代表kobject的类型,主要包含release函数和attr的读写函数。比如,所有的bus都有同一个bus_type;所有的class都有同一个class_type。kset包含了subsystem概念,kset本身也是一个kobject,所以里面包含了一个kobject对象。另外,kset中
2015-10-28 18:13:21
2017
转载 makefile中的shell语法
在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙。下面总结了一些。1:尽在Makefile文件的目标项冒号后的另起一行的代码才是shell代码。eg:xx = xx1 // 这里时makefile代码yy:xx = xx2 // 这是是makefile代码,makefile允许变量赋值时,
2015-03-27 18:08:29
1057
原创 Zynq 7000从零开始之四 -- emio的gpio操作
本文讲述怎样使用emio功能的gpio,涉及到fpga部分,软件涉及到一级引导程序fsbl的创建及app的创建,程序运行在ddr中.zynq-7000的PS只有54个引脚可用(port0,port1), port2,port3的引脚可以通过EMIO在PL端引出.zturn开发板的三色灯D34连接到PL端的io,通过emio控制这三个灯亮灭.1. 用vivado搭建硬件模型.
2015-03-23 18:00:01
17525
5
原创 linux 串口console注册
printk打印的信息要在console注册之后才能打印出来,但是在start_kernel中,还没有注册console之前已经有printk的动作.这些信息会保存在printk的buf里边,这个buf大小可以配置:General setup(14) Kernel log buffer size (16 => 64KB, 17 => 128KB)14=2^14=16KB, 16=2
2015-03-16 13:40:54
3056
原创 3G拨号获取不到IP--No network protocols running
Serial connection established.using channel 1Using interface ppp0Connect: ppp0 /dev/ttyUSB0sent [LCP ConfReq id=0x1 ]rcvd [LCP ConfReq id=0x0 ]sent [LCP ConfAck id=0x0 ]rcvd
2015-03-11 11:37:22
6426
2
转载 volatile的陷阱
最近写的关于在嵌入式开发中常遇到的关于volatile关键字使用的短文,都是些通用的技术,贴上来share。 对于volatile关键字,大部分的C语言教材都是一笔带过,并没有做太过深入的分析,所以这里简单整理了一些关于volatile的使用注意事项。实际上从语法上来看volatile和const是一样的,但是如果const用错,几乎不会有什么问题;而volatile用错,后果可能很严重。所以
2015-02-15 09:53:31
2306
转载 bash: ***: No such file or directory
最近在移植opencv2.0的时候遇到该问题,工作环境如下:宿主机:ubuntu9.04 kernel 2.6.28 arm-none-linux-4.3.2开发板:OMAP4 ubuntu12.04 桌面版 gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)当把在宿主机编译好的程序移植到另一个开发板(ubuntu
2015-02-10 14:43:11
18197
1
原创 linux下的can驱动测试
本文主要描述怎样在嵌入式linux下测试can驱动.详细讲解了测试can所需要的工具,及怎样编译,怎样使用.
2015-01-28 18:42:17
22458
4
原创 Zynq 7000从零开始之三 -- mio的gpio操作
本文讲述怎样使用PS的gpio,不涉及fpga部分,软件涉及到一级引导程序fsbl的创建及app的创建,程序运行在ddr中. z-turn板的mio 50引脚连接到了按键K1,该实验实现的功能为,检测按键并从串口打印出相应的信息. 1. 用vivado搭建硬件模型. 在block design的Re-customize IP界面,点击Pre
2015-01-22 12:31:27
8741
3
原创 Zynq 7000从零开始之二 -- 内存测试程序
由于所有的APP都是在DDR中运行的,所以先让DDR工作起来是后续实验的基础.使用的硬件是z-turn开发板. 本文主要讲怎样创建一个内存测试程序,测试DDR,程序还是运行在内部RAM;FPGA涉及的内容有怎样配置DDR参数,及怎样保存和导入硬件参数;软件方面会涉及BSP修改及 BOOT.bin的生成.关于Vivado的具体操作请参考--"Zynq 700
2015-01-22 10:43:07
17491
2
转载 "30年---我与赛灵思FPGA的故事”—— ZYNQ-7000使用总结(9) ——PS和PL的通信
由 allan 于 星期二, 07/08/2014 - 13:21 发表PS与PL通信概述传统的SoPC设计无外乎两种方式:(1)在FPGA上设计一个软核,比如Altera的NIOSII,Xilinx的MicroBlaze等(2)将一个独立的FPGA和处理器芯片(比如ARM等)联合使用。第一种方式的局限在于软核的性能远远不及硬核,而且会占用大量的FPGA资源;第二种方式的局
2015-01-21 15:18:55
14913
2
转载 "30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(8) ——用户IP设计和应用程序设计流程
由 allan 于 星期二, 07/01/2014 - 12:54 发表通过前面的几个例子,我们可以看出,在使用Zynq做设计时,合理使用Xilinx已有的IP核非常的关键,可以极大地方便与简化我们的开发。但是有的时候我们需要根据自己的需要设计自己的IP核,即所谓的用户IP。这篇文章就通过一个完整的例子介绍如何设计用户IP,并且会对驱动级的应用程序设计流程进行一个详细的介绍。
2015-01-21 15:18:02
5375
4
转载 "30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(7) ——ZYNQ的启动和配置
由 allan 于 星期一, 06/30/2014 - 15:29 发表前面在生成从Flash和SD卡启动的镜像文件时有提到一个FSBL,这个和ZYNQ的启动有关系。今天我就介绍一下ZYNQ的启动和配置。因为ZYNQ SoC由PS和PL部分组成,所以它的启动和配置也会稍微复杂一点,这里仅作简单介绍,希望可以起到抛砖引玉的效果。要了解具体的细节可以参考Xilinx官方文档UG585
2015-01-21 15:16:14
15296
1
转载 "30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(6) ——AXI接口简述
由 allan 于 星期五, 06/27/2014 - 17:35 发表在前面的几个例子中,我们经常会看到AXI接口或是总线,那么AXI到底是什么呢?如果你想进行系统的了解,可以查阅Xilinx的文档UG761《AXI Reference Guide》。这里如文章题目,只是做一个简答的介绍,主要提炼出一些知识点。大部分是翻译的那篇文章,有的地方为了表述准确,直接引用原文。A
2015-01-21 15:14:53
14500
转载 "30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(5) ——使用ChipScope进行硬件调试
由 allan 于 星期三, 06/25/2014 - 15:08 发表在《ZYNQ-7000使用总结(3)——PS和PL部分配合使用》中我们介绍了一个PS和PL配合使用的例子,在那个例子中我们有加入两个用于调试的IP核:ChipScope AXI Monitor和Chipscope Integrated Controller,这两个IP核用于ChipScope的调试。Chip
2015-01-21 15:13:41
5121
转载 "30年---我与赛灵思FPGA的故事":ZYNQ-7000使用总结(4) ——如何生成从Flash和SD卡启动的镜像文件
由 allan 于 星期三, 06/25/2014 - 14:53 发表在《ZYNQ-7000使用总结(3)——PS和PL部分配合使用》中,我们已经可以将PL与PS部分一起使用,并且通过JTAG下载到板子运行。对于ZYNQ,有多种启动方式,比如从JTAG启动、从QSPI(即Flash)启动,从SD卡启动等。对于从JTAG启动的,我们直接运行程序就OK了。对于从Flash和SD卡启动
2015-01-21 15:12:23
6504
转载 "30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(3) ——PS和PL部分配合使用
由 allan 于 星期五, 06/20/2014 - 14:37 发表前面在《ZYNQ-7000使用总结(2)——PS部分的使用》中讲述了ZYNQ-7000中PS部分的用法,主要是对软件的使用以及设计流程进行了介绍。但是在实际使用中,往往会将PL和PS部分配合使用,以充分使用ZYNQ的资源,发挥其优势。对于ZYNQ-7000,PS部分可以作为一个子系统独立工作(上篇文章已经介绍)
2015-01-21 15:10:38
18816
转载 "30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(2)——PS部分的使用
由 allan 于 星期四, 06/19/2014 - 17:31 发表ZYNQ-7000包括PS和PL两部分,其中你可以只使用PS部分,而不用PL部分,这样可以认为你在单纯的使用一个ARM Cortex A9 MPore芯片。更多的情况下,我们会将PS和PL部分联合使用,不然也就失去了使用ZYNQ芯片的意义。但是,为了更好的理解和学习ZYNQ,我们先讲一个只使用PS部分的例子,这
2015-01-21 15:08:59
16731
2
转载 "30年---我与赛灵思FPGA的故事”: ZYNQ-7000使用总结(1)——概述
由 allan 于 星期四, 06/19/2014 - 17:03 发表因为马上要离职的原因,需要将一些东西整理一下做交接。就将Xilinx ZYNQ-7000的使用经验做一下总结,希望对刚接触的人有一点帮助。需要说明的是,在接触到ZYNQ-7000之前,我并没有做过FPGA的设计,这一部分的基础可以说是零。而这一年的工作重心也并不是FPGA设计,所以这一系列文章的重点是工具的使用
2015-01-21 15:07:32
28590
1
原创 Zynq 7000从零开始之一 -- HelloWord
使用myir的z-turn开发板,做一个从uart打印hello world的实验,只用PS,不用PL部分,程序从SD卡启动,跑在PS的内部RAM.zynq 7000的PS虽然也是CPU,但是开发方法不像普通的CPU只需要一个SDK就可以了,它还需要vivado硬件设计软件.所以ZYNQ 7000的PS开发需要两个工具,一个是vivado-- 另一个是SDK-- .1. 打
2015-01-21 09:10:43
26246
3
原创 创建基于arm的debian文件系统
debian系统有针对arm分支的,在arm上跑debian系统可以用apt-get安装软件,避免繁琐的编译和重复创建文件系统的工作.本例子使用z-turn的开发板为例.linux主机版本:root@v:i# lsb_release -aNo LSB modules are available.Distributor ID: DebianDescriptio
2015-01-15 10:35:19
16819
2
原创 使用buildroot来编译文件系统
使用buildroot来编译文件系统2015-1-9 用buildroot来制作文件系统很方便,编译出来的文件系统是直接可用的,不用添加脚本等麻烦的工作,很多的库和app都可以直接添加到文件系统里边,如常用的udhcpc,tftp等.本文以以ZYNQ 7010为例,制作一个ramdisk的文件系统,在z-turn开发板上运行.1. 到buildroot目录下执行
2015-01-15 10:30:31
14941
2
转载 armlinux内核启动--内存初始化管理
linux版本:2.6.36相关数据结构arch/arm/include/asm/setup.h#ifdef CONFIG_ARCH_LH7A40X# define NR_BANKS 16#else# define NR_BANKS 8#endifstruct membank { unsigned long start; unsigned l
2014-11-02 23:08:13
1504
PhantomPDF最新版破解
2015-01-20
source insight3.5+破解
2014-07-27
cadence 16.6破解文件-win7 64位可用
2014-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人