##
## libusp_bpm22.c
##
## Created by JK
##
# General configuration variables:
CC = gcc
CXX = g++
AR = ar
RM = rm -rf
DEBUG =
CFLAGS = $(DEBUG) -O3 -Wall -c -fmessage-length=0 -MMD -MP
TIME = $(shell date +%Y%m%d)
OBJ = usbBasic.o cdebug.o libusp_BPM22.o
LIBS = -lusb-1.0 -lFreeImage
TOP_PATH = $(shell pwd)/..
LIB_PATH = -L$(TOP_PATH)/libs \
-L$(TOP_PATH)/libs/libusb-1.0.22 \
-L$(TOP_PATH)/libs/freeimage3180 \
-L$(TOP_PATH)/libs/plus
INC_PATH = -I$(TOP_PATH)/usbBasic \
-I$(TOP_PATH)/cDebug-log \
-I$(TOP_PATH)/libs
# All Target
all: libusp_BPM22.dll
usbBasic.o: $(TOP_PATH)/usbBasic/g_header.h $(TOP_PATH)/usbBasic/usbbasic.h
$(CXX) $(CFLAGS) $(INC_PATH) $(LIBS) $(TOP_PATH)/usbBasic/usbbasic.cpp
cdebug.o: $(TOP_PATH)/cDebug-log/cdebug.h
$(CXX) $(CFLAGS) $(INC_PATH) $(LIBS) $(TOP_PATH)/cDebug-log/cdebug.cpp
libusp_BPM22.o: $(TOP_PATH)/libusp_BPM22/src/libusp_bpm22.h
$(CC) $(CFLAGS) $(INC_PATH) $(LIBS) $(TOP_PATH)/libusp_BPM22/src/libusp_bpm22.c
libusp_BPM22.dll: $(OBJ)
@echo ''
@echo ''
@echo '-- Invoking: Cross G++ Linker With MinGW-GCC'
@echo '-- Building target: $@'
$(CXX) $(LIB_PATH) -shared -o "libusp_BPM22.dll" $(OBJ) $(LIBS)
@echo '-- Building target: libusp_BPM22.a'
$(CXX) $(LIB_PATH) -shared -o "libusp_BPM22.a" $(OBJ) $(LIBS)
@echo '-- Finished building target with makefile.cross'
clean:
-$(RM) $(OBJ) *.d libusp_BPM22.dll libusp_BPM22.def libusp_BPM22.lib libusp_BPM22.a
-@echo '-- Finished make clean'
package:
mkdir -p build$(TIME)
$(RM) build$(TIME)/*.*
mkdir -p build$(TIME)/gcc-win32 build$(TIME)/msvc
@pexports libusp_BPM22.dll > libusp_BPM22.def
@lib /machine:i386 /def:libusp_BPM22.def /out:libusp_BPM22.lib
@echo '-- Finished make objects with makefile.cross'
cp $(TOP_PATH)/usbBasic/g_header.h $(TOP_PATH)/libusp_BPM22/src/libusp_BPM22.h ./build$(TIME)/
cp -f libusp_BPM22.dll libusp_BPM22.a ./build$(TIME)/gcc-win32
cp -f libusp_BPM22.dll libusp_BPM22.lib ./build$(TIME)/msvc
@echo '-- 'build$(TIME) >>./readme.txt
clear:
-$(RM) $(OBJ) *.d libusp_BPM22.dll libusp_BPM22.def libusp_BPM22.lib libusp_BPM22.a libusp_BPM22.exp
-@echo '-- Finished make clear'
.PHONY: all clean dependents
相关推荐
IBM System x3650 M5 IMM配置
1、IMM基本介绍 IMM,全称是Intel Mobile Module是IBM服务器上的集成管理模块,该模块是独立于服务器系统,可以通过一个单独的IP地址,使用Web和虚拟端口方式直接启动、停止和管理远程服务器,即使主板、处理器或者内存故障导致主机无法启动,也依然可以远程管理服务器,可以远程直接操作启动画面和服务器工作界面。 2、IP地址配置 2.1 通过Web方式修改IP地址 IBM服...
[APM32F407]Eclipse 下开发APM32F4过程分享
前言 前段时间整了一下VSCode 开发APM32F4的过程,想着还有一个老牌的IDE——“Eclipse”。想着哥俩齐,也去玩一下Eclipse看看怎么开发APM32F4,下面就简单记录一下整个过程。 1 开发环境 - 开发板: APM32F407IG MINI 开发板 - 调试器: J-Link V9/V10 或 Geehy-Link - 操作系统: WIN10 64-bit OS - IDE:Eclipse IDE for Embedded C/C++ Developers Version: 202
SAP Parallel Accounting(平行分类账业务)配置及操作手册【适用于多国家会计准则】
在SAP系统中,分类账(Ledger)是用于会计核算的核心概念,它允许企业根据不同的会计原则和货币进行财务记录。定义分类账是配置平行账(Parallel Accounting)的第一步。分类账的创建:通过事务代码OX18可以创建新的分类账。通常,一个SAP系统会有一个主分类账(如0L),它代表法定会计和实时传输至管理会计(CO)的账本。分类账属性:在创建分类账时,需要定义其属性,如会计年度变式、货币、会计原则等。这些属性将决定分类账的核算规则和适用性。
Linux上eclipse C/C++从已存在代码创建动态库和调用动态库项目
环境:ubuntu14 + Eclipse C/C++ neon 一、创建动态库: 1.打开Eclipse创建新项目 2.选择源代码目录并填写项目名称,这里编译工具我们选择交叉编译器如下: 3.点击Finish创建项目如下: 4.要生成动态库,需要重新配置,右键属性弹出窗口如下: 5.修改Configure为的名字为Debug, 勾选General Makef...
基于LORA的双机通信的智能农业系统
通过LoRa模块与主机进行通信,监测环境中的温度、湿度、土壤湿度和光照强度等参数,并根据预设的自动控制逻辑或者手动指令控制继电器开关,从而调节风扇、加热器、水泵、喷雾器和灯光等设备,为植物提供适宜的生长环境。使用的Lora是大夏龙雀的感觉这个是我使用过的Lora里面最好用的,因为不用设置频道就可以直接透明传输,使用起来得心应手。就像两个单片机直接串口通信一样,缺点是异步串行,不能同时进行接收和发送。继电器灯亮模拟打开对应的风扇、水泵、灯、喷雾、加热。1.使用温度传感器测当前环境的温湿度。
不只是对齐:用 MFA 和 Praat 给你的语音数据集快速生成 TextGrid 标注文件
本文详细介绍了如何利用Montreal Forced Aligner(MFA)和Praat工具快速生成TextGrid标注文件,大幅提升语音数据标注效率。通过批量对齐、质量校验和跨语言处理等实战技巧,帮助研究者构建自动化标注流水线,适用于语音合成和语音识别等多种应用场景。
安卓应用与 Eclipse 教程(二)
在这一章中,我们探讨了 Android NDK,包括它的用途和它提供的功能。我们在大多数流行的主机平台上完成了安卓 NDK 的安装过程。我们通过塞阔雅插件将 Android NDK 粘贴到 Eclipse 平台上。然后我们看了 Android NDK 的核心——JNI 技术,并讨论了开发混合应用的重要方面。我们还讨论了最常见的故障排除任务,以及如何通过 Eclipse 平台简化这些任务。清单 8-6中的newBitmap函数是一个助手函数,它调用 Java 中的静态newBitmap。
Synopsys安装教程Ubuntu22.04版本
在Ubuntu22版本上安装Synopsys等系列工具,安装DC,VCS等等
eclipse cdt 编译动态库,供msvc调用 -- 2.构建C++动态库工程模板
1. mingw 配置 下载地址: http://www.mingw.org (官网) https://sourceforge.net/projects/mingw/ https://sourceforge.net/projects/mingw-w64/ 在线安装: 运行mingw-get-setup.exe 离线安装: 下载解压https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/...
告别IMEI!手把手教你用UUID实现Android设备唯一标识(兼容Android 10-13)
本文详细探讨了在Android 10及以上版本中,如何构建合规且高可用的设备唯一标识方案以替代被限制访问的IMEI。文章深入分析了Android设备标识符的演变,并提供了基于UUID/GUID的完整实现策略,包括生成算法、多级持久化存储方案(如MediaStore)、权限处理以及版本兼容性实践,帮助开发者应对Android 10-13的隐私政策变化。
基于Python实现学习进度跟踪系统
{{ task }}: {{ "%.1f"|format(hours) }}小时
Eclipse CDT动态库Shared Library配置与使用,解决找不到.so的问题
对于建立Shared Library,其实很简单,就是建立工程的时候选择Shared Library。 想必很多朋友都希望在eclipse中编译好动态库以后能在我们的程序中直接调用,并且不需要在调用程序(这里以test为例,库工程名为mylib)中去配置环境变量LD_LIBRARY_PATH,或者在gcc编译时指定路径名(该方法也不错,很适用较少库文件的引用) -R${wor
复旦微FMSH_Procise安装全流程详解:从环境配置到实战避坑指南
通过本文的全流程解析+实战技巧,开发者可快速掌握Procise在复旦微芯片开发中的核心应用。未来随着AKConv轻量级架构(参考往期文章)等创新技术的融入,国产芯片开发生态将更加完善。立即关注本专栏,获取最新多镜像切换指南与Linux SDK实战教程!扩展阅读复旦微在线升级BOOT.BIN全解析H7-TOOL实现复旦微脱机烧录(注:本文实验环境为Windows 10 x64 + FMQL45T-CORE开发板,部分操作可能因版本更新调整)立即行动下载本文配套配置文件:[GitHub链接]加入技术交流群。
Eclipse+CDT+Gcc编译选项控制(动态库的生成)
【转】Eclipse+CDT+Gcc编译选项控制 原文地址:http://www.oschina.net/question/4873_19441 如果我们的程序调用动态链接库,当在cdt中运行的时候,可以通过run-->enviroment-->添加LD_LIBRARY_PATH 环境变量来设置查找动态链接库文件的路径。但是在运行的时候,程序去那里找动态链接库呢? 方法主
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
Linux系统Eclipse CDT引用动态库(第三方库)的解决方案及问题
1、PFring第三方库的编译和demo运行 PFring为第三方快速抓包库,具体的安装和例子使用方法见:http://blog.csdn.net/xuejiren/article/details/21529027,此地方不再累赘。 2、PFring在新建项目中的使用方案 2.1 编译和安装kernel和libpcap到/usr/local目录下 2.1.1 kernel的安装 1)进
深度学习工具包 DeepLearningToolbox
深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[](https://bitdeli.com/free "Bitdeli Badge")
Linux上使用eclipse C/C++创建动态库和调用动态库
环境:ubuntu14 + Eclipse C/C++ neon 一、创建动态库: 1.打开Eclipse创建新项目 2.设置如下项目名称为test_lib,创建动态库所以选择Shared Library, 为了方便测试编译工具Toolchains我们选择x86架构,点击Next. 3.进入设置界面选择配置,选择Debug, 点击Advanced Settings会弹出右边窗口...
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
eclipse cdt include路径 和 库设置
eclipse
windows 环境测试使用 Visual Studio 2022 MSVC 自带的 cl + nmake 版本的 Makefile 编译代码
windows 环境的 cl 和 nmake 就相当于 Linux 环境的 gcc、g++ 和 make;linux 中可以在 Makefile 中写 gcc、g++ 语句,然后执行 make;同样的,在 windows中也可以新建 Makefile 文件,在里面写 cl 语句,最后使用 nmake。添加大系统环境变量 PATH 中。
C语言不同操作系统不同编译器,msvc mingw gcc cmake VS的理解
编译器的编译有两步 1 源代码生成汇编码 2 汇编语言生成可执行文件的二进制机器码 其中的build还有link,我还没搞懂,暂时也不需要那么深入,后续可以去看《编译原理》 二进制机器码要先访问操作系统,再由操作系统访问CPU和内存等硬件 不同的操作系统有相应的二进制机器码的规范 所以不同的操作系统要用不同的编译器 在 GNU中(GNU是某个内核为Linux的操作系统,除了GNU还有安卓,内核可以理解成为汽车发动机,GNU和安卓理解为车壳)使用的是gcc和g++编译器 在WINDOWS平台中使用的是msvc
EclipseCDT远程交叉编译&远程单步调试&基于makefile例程(实测有效)
之前写过一篇VSCode远程调试linux,当时是把程序以及代码通过远程的方式,在从机上进行GCC编译,主机上远程GDB调试。这有个弊端就是从机里面会有源代码,同时从机还需要支持GCC和GDB。后面进一步拓展,VSCoede通过从机的交叉编译链远程编译,把生成的程序放到从机上运行,但是并没有实现远程调试,要想远程调试还得从机编译,这个问题目前还未解决。后面考虑出个博客解决一下VScode远程调试的这个问题,当然了这篇博客其实解决了远程调试的这个问题,只不过是换了个平台。
Cmake和makefile
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile...
在VC里如何用Makefile文件编译?
运行cmd.exe (or command.com in win9x)->进到vc/bin目录->运行vc-vars32.bat->进到makefile 所在的目录->nmake /f makefile 从sourceforge上下载下来的libjpeg源代码中有一个makefile.vc的文件,可以通过nmake /f makefile.vc [nodebug=1
Qt关于第三方库介绍
Qt第三方库预告,史上最强大的qt第三方库强势来袭!!!
nmake的常用命令
makefile_msvc文件的内容: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ all: dlgsdk.exe @echo "ALL" dlgsdk.exe: dlgsdk.obj dlg.res link dlgsdk.obj dlg.res kernel32.lib user32.lib
qt qmake 生成的makefile介绍
在 Makefile 中,规则是指一条定义了目标文件、依赖文件以及生成命令的语句。下面是 Makefile 中规则的一般格式:command其中,target表示要生成的目标文件,可以是可执行程序、静态库、动态库等;表示生成target文件所依赖的文件列表;command表示生成target文件的命令,可以是编译命令、链接命令等。例如,下面这个简单的 Makefile 包含了一个规则:这个规则表示要生成可执行文件hello,它依赖于源文件hello.c,生成可执行文件的命令是执行gcc编译器将。
Eclipse CDT初步使用教程
我用过Source insight和VS,感觉不顺手就没用了,所以也没有深入研究过,其他的如Code::Blocks,vim,Clion, Emacs我也没用过,不好做评价,反正我用Eclipse用的很舒服,这里给大家分享一下,多提供一种选择,如果你是刚学C语言或者你当前的IDE用的不爽,可以尝试一Eclipse。 1.外观 主界面 调试界面,子窗口都是可以拖动的,可以根据自己的喜好配置成合适的...
4万+



被折叠的 条评论
为什么被折叠?



