- 博客(196)
- 资源 (14)
- 问答 (1)
- 收藏
- 关注
转载 芯课堂 | 上位机快速上手指南
1、使开发板进入U盘模式:①开发板断电;③用USB数据线给开发板上电,一端接电脑的USB,另一端接开发板的USB。②设置分辨率800x480;③如果②中没适合的分辨率可以勾选自定义;① 获取按键对象,WIDGET_BUTTON1是按键ID,在screen001.h中有弘定义,给对象添加事件回调函数。2、把烧录工具jlink的USB端插入电脑,另一端SW引脚接入开发板,配置debug。① 在控件中选取按钮放置界面中;②可以设置按钮的样式;③导出工程资源,并显示效果。3、在界面中放入按钮控件,并导出工程资源。
2024-03-13 21:56:28
635
原创 shell脚本——函数(一)
一.创建函数 有两种格式可以用来在bash shell脚本中创建函数. 第一种采用关键字function。后跟分配给该代码的函数名。 function name { commands } name属性定义了赋予函数唯一的名称。脚本中定义的每个函数都必须有一个唯一的名称。 commands是构成函数的一条或多条bash shell命令。在调用该函数时,bash s...
2018-04-15 23:47:06
1608
1
原创 Python——网络编程
Python 提供了两个级别访问的网络服务:1.低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。2.高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。这里写了一个简单的实例来熟悉一些函数:服务器端:#coding:UTF-8
2017-11-01 09:26:28
2609
原创 Python——正则表达式
Python正则表达式正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
2017-10-25 13:59:26
2798
原创 Python——函数参数问题
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。有如下代码:#coding:UTF-8def printfunction(name,age): print "Name:",name print "Age:",age re
2017-10-23 16:23:03
1100
原创 Linux驱动编程——双通道LVDS屏幕配置
前言最近在调公司项目的双通道的LVDS屏幕。所用的开发板是基于imx6q的,这块开发板的资料少得可怜,基本没有。于是只能自己慢慢琢磨,记录一下完成的过程,仅供大家参考。修改内核参数将厂家给我们的源码编译后,移植到开发板上去,默认的情况下是不支持双通道的LVDS屏幕的。所以要修改内核源码,然后重新编译。1.找到要修改内核代码所在的位置要找到如下代码(每个开发板不同
2017-10-10 17:10:25
9161
1
原创 Linux系统编程——管道
管道管道的概念:管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可以创建一个管道。管道有下面这些特点:1.其本质是一个伪文件(实为内核缓冲区)2.由两个文件描述符引用,一个表示读端,一个表示写端。3.规定数据从管道的写端流入,从读端流出。管道的原理:管道实为内核使用循环队列机制,借助内核缓冲区(4K)实现的。
2017-09-21 13:22:20
715
原创 Python——变量类型
变量变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python 中的变量赋值不需要类型声明。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该
2017-09-07 10:49:14
738
原创 Python——编程入门实例(一)
【程序1】题目:有1,2,4,5个数字,能够组成多少个互不相同且无重复数字的三位数?都是多少?sum=0#保存无重复三位数的个数for i in range(1,5): for j in range(1,5): for k in range(1,5): if i!=j and i!=k and j!=k: prin
2017-09-06 11:33:43
2296
转载 Linux驱动编程——Linux配置选项详解
内核的配置选项有很多,一般情况下大部分选项都可以使用默认值,因此并不需要了解它们所代表的意义;但是某些应用场合需要将内核剪裁的足够小,这就需要我们知道各个选项的意义了。 即使不考虑内核剪裁的因素,当我们打算深入了解某一个子系统时,也需要从该子系统的配置选项入手(可以从该子系统代码目录下的各个Kconfig文件入手),掌握各个代码的关系,避重就轻的进行代码分析。
2017-09-06 09:49:56
1637
原创 Linux驱动编程——一些重要的数据结构
一些重要的数据结构大部分的基本驱动程序操作涉及到三个重要的内核数据结构,分别是file_operations、file、inode。文件操作我们已经为自己保留了一些设备编号,但没有将任何驱动程序操作与之匹配。file_operations结构就是用来建立这种连接的。这个结构定义在中,其中包含了一组函数指针。file结构在中定义的struct file是设备驱动程序所使用
2017-09-04 14:00:32
816
转载 IMX6Q学习笔记——编写LED驱动和测试程序以及相关管脚配置
刚接触IMX6Q不久,通过一个简单的LED驱动和测试程序的编写来了解管脚配置过程。LED驱动找到以前编写驱动的基本框架,如下:static long xxx_ioctl(struct file *filp, unsigned int cmd,unsigned long arg) static struct file_operations xxx_dev_fops
2017-08-31 11:42:56
2633
原创 杂文——Linux常见命令
我们都知道,在Linux系统中,基本上任何我们需要做的事都可以通过输入命令来完成,所以在Linux系统中命令非常的多,我们不可能也没必要记住所有的这些命令,但是对于一些常用的命令我们还是必须要对其了如指掌的。当然,即使这样,我们需要掌握的常用的命令也有百余条之多,我们难道就专门针对这百余条常用的命令来对其进行死记硬背吗?就像在学java时,我们学习其23种设计模式一样,我们不能单纯为了只是
2017-08-22 15:50:10
690
原创 Linux驱动编程——platform总线的设备和驱动
一、什么是paltform总线一个现实的linux设备和驱动通常都需要挂接在一种总线上,比较常见的总线有USB、PCI总线等。但是,在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设却不依附与此类总线。基于这样的背景下,2.6内核加入了platform虚拟总线。platform机制将设备本身的资源注册进内核,有内核统一管理,在驱动程序使用这些资源时使用统一的接
2017-08-22 12:38:02
802
原创 杂文——Ubuntu中root和普通用户切换
ubuntu登录后,默认是普通用户权限,那么普通用户权限和root权限如何切换呢,下面总结下它们之间如何切换。普通用户切换到root用户登录ubuntu后,按上组合键CTRL+ALT+T进入终端界面,一般终端界面默认为普通用户权限模式,如何从普通用户进入root用户,有如下方法:1、按上su,然后按照提示输入相应的root密码,就可登录到
2017-08-18 14:02:04
576
原创 安卓系统之旅——最全的Android源码目录结构
android平台四层架构对应源代码中的目录:第一层:应用程序层(applications)对应根目录下packages/apps第二层:应用程序框架层(application framework)对应根目录下的frameworks第三层:运行库层包括运行库(libraries)和Android运行时环境(android runtime) android运行时环境:
2017-08-17 15:28:12
1698
原创 安卓系统之旅——安卓基本架构
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。android
2017-08-17 13:44:14
1039
原创 代码管理工具git的使用
使用环境:Ubuntudown项目- 创建分支 从指定分支进行克隆项目 git clone -b 分支名称 xxx.git(项目地址) 如果本地没有上传分支需要先配置一次 git config --glabal user.email "邮箱地址" git confi
2017-07-31 09:42:14
1445
原创 Python——复制文件内容
Python的文件操作感觉跟Linux c很像,写来写去也就是那样的,这里写了一个程序实现复制一个文件夹中的内容到另外一个文件中。 环境:Ubuntu+Python2.7#coding=utf-8oldFileName=raw_input("请输入要复制的文件名:")oldFile=open(oldFileName,'r')num=oldFileName.rfind('
2017-07-29 16:52:35
2395
原创 Python——递归
讲起递归,我一般会联想到函数的嵌套调用和中断,为什么会把他们联想到一起,这里我就不细说了,想一想就清楚了。利用递归求解一个数的阶乘:环境:Ubuntu+Python2.7#coding=utf-8#利用递归求阶乘def digui(num): if num>=1: result=num*digui(num-1) else: result=1 return resul
2017-07-26 09:30:39
574
原创 Linux驱动编程——设备树
Linux设备树的由来——什么是设备树Open Firmware Device Tree 开发固件设备树1,Device Tree可以描述的信息包括CPU的数量和类别、内存基地址和大小、总线和桥、外设连接、中断控制器和中断使用情况、GPIO控制器和GPIO使用情况、Clock控制器和Clock使用情况。2,设备树信息被保存在一个ASCII 文本文件中,适合人类的阅读习惯,类似于xml文
2017-07-25 21:43:53
1780
原创 Python——学生成绩管理系统
讲起学生成绩管理系统,从大一C语言的课程设计开始,到大二的C++课程设计都是这个题,最近在学树莓派,好像树莓派常用Python编程,于是学了一波Python,看了一点基本的语法想写点东西练下手。开发环境:Ubuntu+Python2.7代码如下:#coding=utf-8#保存学生信息studentList=[]def addInfo(name,addr): tempInf
2017-07-24 21:31:59
18189
3
原创 树莓派——认识树莓派
树莓派又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是RaspberryPi电脑板,中文译名"树莓派"!这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。卡片电脑树莓派由注册于英国的慈善组织"Raspberry Pi 基金会"开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大
2017-07-14 21:16:50
2986
原创 强大的arm板——cortex架构系列介绍
折叠ARMCortex™-AARM Cortex™-A 系列应用型处理器可向托管丰富OS平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视和机顶盒到企业网络、打印机和服务器解决方案。高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器和高效的Cortex-A7和Cortex-A5处理器均共享同一架构
2017-07-13 22:53:29
4790
转载 Linux驱动编程——input子系统
1 开发环境主 机:ubuntu10.04开发板:mini2440内 核:linux-2.6.22.6编译器:arm-linux-gcc(3.4.5)2 linux输入子系统本节从整体上讲解了输入子系统的框架结构。有助于读者从整体上认识linux的输入子系统。在陷入代码分析的过程中,通过本节的知识能够找准方向,明白原理。
2017-06-27 15:04:41
1741
原创 小C实例也有大梦想
编写strcat函数已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);其中strDest 是目的字符串,strSrc是源字符串。(1)不调用C++/C的字符串库函数,请编写函数 strcatchar * __cdecl strcat (char * dst, const char * src){
2017-06-16 17:02:12
413
原创 C语言也有大学问——free()函数详解
c语言中经常需要给指针变量分配内存空间,需要用到一组函数:malloc()和free()使用的时候需要包含头文件stdlib.hmalloc()比较好理解,主要关注下free()函数,看下面一段代码: char *str = (char *) malloc (100);strcpy(str, "hello world!");free(str);strcpy(str,
2017-06-16 16:48:49
5264
转载 Linux驱动中断函数参数详解
中断函数参数分析总结Int request_irq (unsigned int irq, irq_handler_t handler, unsigned long flags, const char *devname, void *dev_id) A.先来分析形参: 第一个参数irq: 表示要分配的中断号。对于一些设备(系统时钟或键盘)它的值是预先固定的,而对于大多数设备来说,
2017-06-15 19:49:42
7440
转载 gdb参数及命令详解
名称 gdb - GNU 调试器提要 gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d d
2017-06-07 12:19:08
7045
原创 Android初学——开机宣传界面
Android开机背景设置开发环境:eclipse1.找到工程所在的目录,找到drawable-hdpi文件夹,将你想设置的图片拷贝到这个目录下。如下图: 2.在工程左边菜单栏找到开始放置图片的文件夹,这样看是没有的,需要点击Project——clean才会出来.这样就可以看到图片资源了。3.在layout中添加一个spflash.xmlsp
2017-05-22 18:09:53
625
转载 Android初学——Activity
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者, BroadcastReceiver广播接收器,号称"四大金刚"。想要了解这些,就得去Android官网,看它的相关文档,翻了一波墙,找到了相应的文档,这里复制过来仅供自己学习使用。网址:https://developer.android.com/reference/and
2017-05-22 15:31:48
626
原创 C语言也有大学问——指针问题(一)
因为暑假要出去找实习了,现在在复习C语言知识,然而C语言知识最难的莫过于指针,我把我做的指针问题分享给大家。指针问题1.char * const p;char const * pconst char *p 上述三个有什么区别?char * const p; //常量指针,p的值不可以修改char const * p;//指向常量的指针,指向的常量值
2017-05-21 16:25:34
3475
7
原创 C语言也有大学问——大数相加问题
两个大数相加,超过了数据类型能表示的范围时,怎么办?首先想到的是字符串,因为字符串只要内存够,就可以存放,这个时候我们就要借助字符串的一些操作来实现大数相加的问题。具体代码如下:#include #include void main(){ char s1[200], s2[200]; int num1[200] = { 0 }, num2[200] = { 0 }, l
2017-05-17 10:57:43
2310
原创 QT界面之美——基于TCP聊天程序
最近在学QT,学了QT网络编程基础的一点知识,琢磨点写点什么东西,以前用C写的聊天程序都没有界面,只是简单的字符界面,所以写了一个基于TCP的聊天程序。代码已经上传:http://download.youkuaiyun.com/detail/sum_tw/9745925代码运行结果:通过指定的IP地址和端口号是可以进行通信的,可以发送消息。
2017-05-14 20:29:29
5116
6
原创 强大的arm板——中断与轮询你选择谁?
一.问题的引出有这样一道嵌入式的面试题,中断方式与轮询方式哪个效率高? 我们先谈谈中断与轮询。二.中断1.中断的定义中断是指CPU在执行过程中出现了某些突发事件时,CPU必须暂时当前的程序,转去处理突发事件,处理完毕后CPU又返回原程序被中断的位置,并继续执行。2.中断诞生记(1)外设设备的处理速度慢于CPU(2)轮询,定期做设备检查做了不少无用功
2017-05-08 16:01:11
3860
原创 MySQL——C语言遇上SQL语句
前面有一篇博客写了MySQL数据库的基本操作,这里我们在C语言中调用SQL语句,具体代码如下:#include #include #include int main(){ MYSQL *conn;//创建一个MYSQL指针 MYSQL_RES *result;//保存查询结果 MYSQL_ROW row;//从结果中取出行数据 MYSQL_FIELD *field;//从结果
2017-05-06 18:45:29
2385
转载 编写优质嵌入式C代码
摘要:本文首先分析了C语言的陷阱和缺陷,对容易犯错的地方进行归纳整理;分析了编译器语义检查的不足之处并给出防范措施,以Keil MDK编译器为例,介绍了该编译器的特性、对未定义行为的处理以及一些高级应用;在此基础上,介绍了防御性编程的概念,提出了编程过程中就应该防范于未然的多种措施;提出了测试对编写优质嵌入式程序的重要作用以及常用测试方法;最后,本文试图以更高的层次看待编程,讨论一些通用的编程
2017-05-06 18:33:11
5139
原创 MySQL——MySQL语法和基础练习
登陆mysql: mysql -hlocalhost -uroot -proot创建数据库:create database dbname charset utf8查看数据库:show databases;选择数据库:use dbname;删除数据库:drop database dbname;创建数据表: create table tbn
2017-05-06 11:05:24
2195
原创 基于arm板的项目——智能家居系统(一)
一.前言上一篇博客是13号写的,今天是23号了,这么久没写博客是因为设计智能家居系统去了。 随着计算机的发展,越来越多的领域涉及到计算机。可以这么说现代社会已经离不开计算机了。最近总是听说智能家居智能家居的,那么什么是智能家居?是利用先进的计算机技术、网络通讯技术、综合布线技术、医疗电子技术依照人体工程学原理,融合个性需求,将与家居生活有关的各个子系统如安防、灯光控制、窗帘控制、煤气阀控
2017-04-23 23:12:59
16030
4
shell脚本程序大神求解答!!
2016-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人