10 oushaojun2

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

JNI中FindClass查找类失败的问题

例如有如下的native代码用来寻找类,然后注册接口函数:static const char *classPathName = "android/device/PiccReaderNative/PiccReaderNative";static int registerNatives(JNIEnv* env){ jclass clazz; clazz = env->FindClass(classPathName); if (clazz == NULL) {

2020-06-28 14:08:12

CMake arm linux交叉编译CMakeLists.txt示例

set(tool_path /usr/local/arm/opt/EmbedSky/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf)set(CMAKE_C_COMPILER ${tool_path}/bin/arm-linux-gnueabihf-gcc)set(CMAKE_CXX_COMPILER ${tool_path}/bin/arm-linux-gnueabihf-g++)set(CMAKE_CROSSCOMPILING TRUE..

2020-06-11 18:00:14

QEMU搭建ARM linux开发环境

qemu可以用来模拟嵌入式的开发板,很多的嵌入式开发技巧完全可以抛开开发板来做实验,内核就更加方便了。主要参考了:https://www.jianshu.com/p/94833e841742但是完全按照这个来会有各种问题,一般情况下都是busybox和kernel的版本问题,我按照原来的博客的版本搞过一遍,各种报错,后来索性瞎几把整了。主要有如下几点不一样:1 busybox原来的...

2020-03-25 19:50:49

shell常用到的命令

tr,cut,find,grep,xargs,cat,ls,tee,

2020-03-16 17:57:04

linux shell基本语法和调试技术

shell的语法跟c很多不一样,稍有不慎就各种问题,这里有个大神的调试技术总结,我也写了响应的代码验证。原址:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ 1 #! /bin/bash 2 :<<EOF 3 inf...

2020-03-13 16:27:26

C++基本语法操作方式

#include "stdafx.h"#include <iostream>#include <string>#include <stdlib.h>using namespace std;//templatetemplate <typename T>T max(T a, T b){ if (a > b) ...

2020-03-10 15:42:27

KEIL环境下如何让代码在 RAM中运行(转)

KEIL环境下如何让代码在 RAM中运行发布时间:2016-08-26来源:ST社区标签:KEILNucleoSTM32分享到:前言经常遇到有人使用KEIL时需要将部分或者全部程序代码放到RAM中运行的问题,现将其总结在本文中。通过STM32F411Nucleo的一个例子来介绍几种让程序在RAM中运行的方法。我们先从ToggleLED函数在Flash中执行亮灭...

2019-08-02 11:28:30

linux驱动程序设计21 Linux设备驱动的调试

本章导读“工欲善其事,必先利其器”,为了方便进行Linux设备驱动的开发和调试,建立良好的开发环境很重要,还要使用必要的工具软件以及掌握常用的调试技巧等。21.1节讲解了Linux下调试器GDB的基本用法和技巧。21.2节讲解了Linux内核的调试方法。21.3~21.10节对21.3节的概述展开了讲解,内容有:Linux内核调试用的printk()、BUG_ON()、WARN_ON(...

2018-08-09 16:50:21

linux驱动程序设计10 中断与时钟

本章主要讲解Linux设备驱动编程中的中断与定时器处理。由于中断服务程序的执行并不存在于进程上下文中,所以要求中断服务程序的时间要尽量短。因此,Linux在中断处理中引入了顶半部和底半部分离的机制。另外,内核对时钟的处理也采用中断方式,而内核软件定时器最终依赖于时钟中断。10.1节讲解中断和定时器的概念及处理流程。10.2节讲解Linux中断处理程序的架构,以及顶半部、底半部之间的关系。...

2018-08-01 19:57:55

linux 下的gcc应用,编译和调试方法

原网址:https://blog.csdn.net/dawn_cx/article/details/6993623此文主要简单的介绍了gcc编译链接的过程的简单描述和调试方法的简单描述,写的很不错。gcc通常用来编译.c结尾的c文件,g++用来编译.cpp结尾的c++文件。因为gcc可以编译c++源文件,但不能完成c++使用的库的连接。GCC起步  在学习使用GCC之前,下面的这个例子能够帮助用户...

2018-07-09 15:57:36

linux驱动程序设计8 Linux设备驱动中的阻塞与非阻塞I/O

本章导读阻塞和非阻塞I/O是设备访问的两种不同模式,驱动程序可以灵活地支持这两种用户空间对设备的访问方式。8.1节讲述了阻塞和非阻塞I/O的区别,并讲解了实现阻塞I/O的等待队列机制,以及在globalfifo设备驱动中增加对阻塞I/O支持的方法,并进行了用户空间的验证。8.2节讲述了设备驱动轮询(Poll)操作的概念和编程方法,轮询可以帮助用户了解是否能对设备进行无阻塞访问。8.3节讲解在glo...

2018-07-09 15:27:19

linux驱动程序设计7 Linux设备驱动中的并发控制

在Linux设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发的访问会导致竞态,即使是经验丰富的驱动工程师也会常常设计出包含并发问题bug的驱动程序。Linux提供了多种解决竞态问题的方式,这些方式适合不同的应用场景。7.1节讲解了并发和竞态的概念及发生场合。7.2节则讲解了编译乱序、执行乱序的问题,以及内存屏障。7.3~7.8节分别讲解了中断屏蔽、原子操作、自旋锁、信号量和互斥体等...

2018-07-09 15:24:12

FatFs移植笔记,附源码

嵌入式内部使用文件系统是必须的选项,但是如果不是arm芯片一般都没有完整的带文件系统的操作系统,例如Linux,对于裸机和ucos之类的系统有必要移植嵌入式操作系统,目前用的最多的是FatFs。网上大量的方法,我这里只是自己做一遍,不以善小而不为嘛。FatFs官网:http://elm-chan.org/fsw/ff/00index_e.html下载源码后发现真的没几个文件:其中diskio.c是...

2018-07-03 18:38:39

linux驱动程序设计6 字符驱动globalmem

第6章 字符设备驱动本章导读在整个Linux设备驱动的学习中,字符设备驱动较为基础。本章将讲解Linux字符设备驱动程序的结构,并解释其主要组成部分的编程方法。6.1节讲解了Linux字符设备驱动的关键数据结构cdev及file_operations结构体的操作方法,并分析了Linux字符设备的整体结构,给出了简单的设计模板。6.2节描述了本章及后续各章节所基于的globalmem虚拟字符设备,第...

2018-05-30 18:26:47

用 GDB 调试可加载模块ko

用 GDB 调试可加载模块  在调试发生于模块中的 panic, 或者使用远程 GDB 调试使用动态模块的机器时, 需要告诉 GDB 如何获取这些模块的符号信息。  首先, 需要在编译模块时加入调试信息:# cd /sys/modules/linux# make clean; make COPTS=-g   如果使用远程 GDB, 您可以在目标机上执行 kldstat 来了解模块的加载位置:# k...

2018-05-30 14:32:33

linux驱动程序设计5

带参数的驱动设计我们可以用“module_param(参数名,参数类型,参数读/写权限)”为模块定义一个参数,例如下列代码定义了1个整型参数和1个字符指针参数:static char *book_name = "dissecting Linux Device Driver";module_param(book_name, charp, S_IRUGO);static int book_num = ...

2018-05-29 14:46:24

cannot stat '/var/cache/sublime-text-2/Sublime Text 2/*'解决

最近linux安装sublime-text失败,遇到这个问题,同时安装gcc也遇到这个问题,没法绕开,那就解决他。其实很好解决:原网址在这里 https://askubuntu.com/questions/613044/install-sublime-text-3-on-digitalocean-droplet-running-ubuntu-os大神的步骤是:cd to /var/cache/su...

2018-05-25 17:37:24

ESP8266 TCP透传模式传输数据流步骤(转)

原网址:http://www.cnblogs.com/Mysterious/p/4816482.html测试使用工具:WIFI模块型号:ESP8266https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&id=520305709648USB-TTL调试工具:CP2102https://item.t...

2018-05-10 19:00:46

局域网传输大文件的方案

最近新买一个笔记本,需要把旧笔记本的数据拷贝过来,发现这也是个大问题啊。先后试过如下方法:1windows文件分享。速度貌似不是很快,放弃了。2u盘拷贝,拷到什么时候,放弃。3feiq局域网传输文件,用的wifi发现速度也一般,2MB/s忍不了。4ftp,配置很复杂,一个配置没弄好就老是报错,用windows自带的ftp服务器也不好用,局域网wifi可以连到这个ftpserver,插网线...

2018-05-06 11:49:38

为控制台窗口建立消息队列(转)

介绍Windows的窗口、消息、子类化和超类化(2011-05-08 15:32:07) 转载▼标签: 杂谈分类: windows程序设计这篇文章本来只是想介绍一下子类化和超类化这两个比较“生僻”的名词。为了叙述的完整性而讨论了Windows的窗口和消息,也简要讨论了进程和线程。子类化(Subclassing)和超类化(Superclassing)是伴随Windows窗口机制而产生的两个复用代码...

2018-04-26 11:33:52

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。