-
segger j-link v8使用说明书_JLINK V8使用常见问题
2021-01-21 21:34:06电子园所有产品在和JLINK V8使用时,请外接电源,不使用JLINK V8供电。如果用户自己产品,想要使用JLINK V8供电的,请参看下面的操作以下是JLINK JTAG 输出引脚定义图:(1),3.3V 输出设置,需要打开jlink 外壳,J3 ...一、 供电问题
JLINK V8可以设置为对外供电,但是默认情况下是不对外输出电源的。电子园所有产品在和JLINK V8使用时,请外接电源,不使用JLINK V8供电。
如果用户自己产品,想要使用JLINK V8供电的,请参看下面的操作
以下是JLINK JTAG 输出引脚定义图:
(1),3.3V 输出设置,需要打开jlink 外壳,J3 如下图设置:
(2),5V 输出设置,把jlink 连到电脑上USB 口上,打开C:\Program
Files\SEGGER\JLinkARM_V450l\jlink.exe (默认安装JLinkARM_V450l 驱动);
在jlink.exe 控制台下输入 power on perm 打开5V 电源,JTAG 19 脚会输出 5V 300mA
电源;关掉命令:power off perm;(此命令会被jlink 记忆在内部,下次上电一样有效)
(3)J3 默认为位置:
二、 如果遇到JLINK V8插到电脑上后,无法识别,并且LED灯不亮,有可能是固件被擦除了,需要重新烧写固件
固件的烧写步骤在JILNK V8卖家提供的资料里有详细说明。
文件路径如下
-
segger j-link v8使用说明书_芯片串口不够用?教您如何使用SEGGER RTT打印LOG
2021-01-21 21:33:44使用功能函数前,先调用SEGGER_RTT_Init()函数。SEGGER_RTT_GetKey()判断键盘输入值。SEGGER_RTT_printf() 向PC输出内容。和printf类似。数值型可以进行格式控制输出。通常做调试LOG 我们只需要利用函数SEGGER_RTT_...应用场景
芯片串口不够用的情况下,可以通过JLINK从SWD接口实现打印调试LOG.
准备工作
准备JLINK仿真器或者JLINK OB仿真器,链接目标硬件。
载JLink RTT软件包,一定要到官网下载最新版本。下面是下载页面地址。
https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/
下载后安装包如下图,当前最新版本为V648。
源码移植
双击安装Jlink_Windows_V648.exe, 安装完毕后,在其安装路径下找到RTT文件夹,文件夹内即为RTT芯片源码。如图
拷贝RTT文件夹至芯片程序工程目录,这里我们为OBD车联网开发板添加RTT功能。如图
用MDK打开工程,在工程目录下添加RTT源码。如图
添加RTT文件夹到编译器头文件路径。如图
添加完毕即可开始编程。编程所用的API函数可参阅官方文件UM08001
官方下载页面地址
https://www.segger.com/downloads/jlink
例子程序
通常我们打印LOG只需要一个输出函数即可,为了简单起见,这里只介绍三个函数完成我们的目的,三个函数功能如下图所示。更多函数详解请参阅UM08001文件。
演示程序用户键盘输入字母g, 则芯片输出Hello Word.下面是示例程序片段
定义RTT头文件。
使用功能函数前,先调用SEGGER_RTT_Init()函数。SEGGER_RTT_GetKey()判断键盘输入值。SEGGER_RTT_printf() 向PC输出内容。和printf类似。数值型可以进行格式控制输出。通常做调试LOG 我们只需要利用函数SEGGER_RTT_Init()和SEGGER_RTT_printf() 即可。
效果演示
开始菜单打开J-Link RTT Viewer.
输入字母g,接收到来自芯片的Hello Word响应。
随着串口模块的越来越丰富,芯片中的串口资源开始变得稀缺,在调试程序过程中能用调试接口则尽量用调试接口,腾出更多的串口去实现更多的功能。更多内容请关注Neulen工作室微信公众号。
-
JLINK V8 官方使用说明 英文原版
2010-10-20 11:37:56JLINK V8 官方使用说明 英文原版 -
海蜘蛛V8破解版使用说明
2012-08-08 23:58:02海蜘蛛V8破解版使用说明 -
SecureFX v8.X注册机使用说明文档
2019-04-25 15:11:14SecureFX v8.X注册机配套使用的注册机使用说明文件,有详细的操作步骤 -
SecureCRT v8.x 注册机及使用说明
2018-03-11 23:26:24SecureCRT v8.x 注册机及使用说明,内含keygen注册机和详细步骤 -
东达变频器TDS-V8 MODBUS通讯使用说明书.pdf
2019-10-25 08:24:27东达变频器TDS-V8 MODBUS通讯使用说明书pdf,东达变频器TDS-V8 MODBUS通讯使用说明书 -
直升机陀螺仪VBAR V8 K8驱动PC端安卓使用说明书
2021-04-05 09:24:15直升机陀螺仪VBAR V8 K8驱动PC端安卓使用说明书 -
仿真器JLINK V8_V9-使用说明&驱动.rar
2019-11-22 11:25:15J-FLASH程序烧写说明(jink版),JLINK V8新用户手册中文版,JLINK问题汇总,JLINK 驱动安装,JLINK V8固件烧录指导 -
EnCase V8 使用手册
2021-02-04 18:02:51一份比较新的电子取证工具软件的使用说明 -
JLINK V8使用常见问题
2020-07-14 20:41:06电子园所有产品在和JLINK V8使用时,请外接电源,不使用JLINK V8供电。如果用户自己产品,想要使用JLINK V8供电的,请参看下面的操作 以下是JLINK JTAG 输出引脚定义图: (1),3.3V 输出设置,需要打开jlink ... -
慧通V8机动车检测站收费管理软件 使用说明
2020-08-31 15:21:04慧通V8机动车检测站收费管理软件 收费管理 打印管理 客户管理 ...在后台将车主提交的申请表打印出来签字车主拿申请表到收银台交款,收银员一键打印收费票据,慧通V8机动车检测站收费管理软件 使用说明 自助...慧通V8机动车检测站收费管理软件
收费管理 打印管理 客户管理 短信管理
一键填表 一键打印 一键收银 一键短信应用场景
慧通V8机动车检测站管理软件应用场景:将检测站专属“机动车牌证申请表”小程序二维码张贴到检测站营业大厅明显位置,车主进入大厅 》打开微信 》扫描小程序二维码,通过行驶证自动识别、手机号自动填写 快速填写申请表工作人员 在后台将车主提交的申请表打印出来签字车主拿申请表到收银台交款,收银员一键打印收费票据,慧通V8机动车检测站收费管理软件 使用说明
自助填写——扫描小程序——智能一键填表
从小程序获取客户信息,将小程序码张贴到检测站营业大厅明显位置车主进入大厅 → 打开微信 → 扫描小程序码,通过行驶证OCR自动识别,手机号自动填写,快速填写申请表,后台一键打印,获取电子化客户信息。慧通V8机动车检测站收费管理软件 使用说明。
慧通V8后台 从扫描仪导入客户信息
扫描仪使用场景,将填好的机动车牌证申请表放到高拍扫描仪下,1秒完成电子化信息录入,将客户数据带入到待收银列表,进行交费收银。电子化数据管理一键录入老客户资料——帮助检测站快速将历年检车客户数据进行电子化数据录入。慧通V8机动车检测站收费管理软件 使用说明
产品介绍
慧通V8机动车检测站管理软件,智慧“机动车牌证申请表”小程序,帮助检测站提高填表、收银环节的工作效率,提升客户关系管理能力;慧通V8机动车检测站收费管理软件 使用说明
慧通V8后台驾驶舱主页,可预览每日收银金额、检测数量、计次数量。
申请表管理——牌证申请表,可以一键打印牌证申请表。
待收银列表,可以完成无输入一键收银和票据打印。 慧通V8机动车检测站收费管理软件 使用说明
联系人管理,按检车月份自动分组,一键发送个性检车提醒短信,无屏蔽。
联系人管理,检车客户数据按车辆注册日期月份自动进行分组。
开发者说:
大部分机动车检测站未对客户资料进行精细化管理,导致无法有效的维护户关系,检测站老车主回头率低,拉新能力差,工作效率不高等特点,开发慧通V8机动车检测站管理软件 ,通过小程序自助一键填写申请表、一键打印、一键收银、一键检车提醒等功能提高检测站工作效率;通过新老客户数据电子化,增加检测站与客户之间的粘性程度,便于实现客户资料统一管理;慧通V8致力于帮助检测站完善数据资产,实现数据价值。
-
管家婆ERP V8 说明书
2015-05-01 20:32:32管家婆ERP V8 top说明书,XPS格式,使用wps打开。 -
v8使用简解
2012-11-27 15:48:51首先到google开发者网站上下载v8源码,并按照说明进行编译。 在v8中,编译和执行的js代码需要依付于一个空间(上下文)。上下文由Context::New创建。 static Persistent New( ExtensionConfiguration* ...首先到google开发者网站上下载v8源码,并按照说明进行编译。
在v8中,编译和执行的js代码需要依付于一个空间(上下文)。上下文由Context::New创建。
static Persistent<Context> New(
ExtensionConfiguration* extensions = NULL,
Handle<ObjectTemplate> global_template = Handle<ObjectTemplate>(),
Handle<Value> global_object = Handle<Value>());其中,extensions表示要增加到上下文的额外配置。global_template指定产生上下文内部对象的对象模板。global_object是要重用的上下文内部对象(该对象是以前由Context::New创建出来的上下文内部对象,且其对象模板必须和global_template相同)。要注意的是,如果指定了global_object,则该global_object除了对象标识会被保留外,其它状态全部重置。
上下文就是js中通过对象模拟出来的命名空间:
function namespace_template()
{return {};
}
var Namespace = new namespace_template();
with(Namespace)
{...
};
Persistent<Context> context = Context::New(NULL, namespace_template,NULL);//此处的namespace_template仅表示对应关系
Local<Object> Namespace = context->Global();
要使用上下文,需调用:context->Enter();
接下来,编译运行js代码:
Local<Script> script = Script::Compile(String::New("function add(a, b){return a+b;}"));
script->Run();
Script::Compile:在当前上下文中编译js代码。调用Run时,使用的是Script::Compile时的上下文。
Script::New:独立编译js代码。调用Run时,使用的是调用Run时的上下文。
调用JS中的函数:
Local<Value> value_add = Namespace->Get(String::New("add"));
ASSERT(value_add->IsFunction());
Local<Function> fun_add = Local<Function>::Cast(value_add);
Handle<Value> args[2];
args[0] = Uint32::New(1);
args[1] = Uint32::New(2);
Local<Value> result_add = fun_add->Call(Namespace, 2, args);
ASSERT(result_add->IsUint32());
uint32_t ui_result_add = result_add->Uint32Value();
绑定函数(让js调用VC中的代码):
假设VC中的代码为:
int ave(int a, int b, int c){return (a+b+c)/3;}
希望在js中可直接进行如下调用:
var ave_value = ave(10, 20, 3.);
v8无法将C/C++中的函数直接导出,需要一定的转换:
Handle<Value> ave_js(const Arguments& args)
{
if(args.Length() < 3) return Undefined();int ave_value = ave(args[0]->Int32Value(), args[1]->Int32Value(), args[2]->Int32Value());
return Int32::New(ave_value);
}Namespace->Set(String::New("ave"), FunctionTemplate::New(ave_js)->GetFunction());
绑定对象:
假设VC中有一个CRectangle类对象rectangle(在实际使用中要考虑生命周期):
class CRectangle
{public:
int w;
int h;
int Area() const{return w * h;}
}rectangle;
希望在js中进行如下调用:
rectangle.w = 10;
rectangle.h = 20;
var area = rectangle.Area();
实现:
Handle<Value> Rectangle_Area(const Arguments& args)
{
Handle<External> field = Handle<External>::Cast(args.Holder()->GetInternalField(0));
void* raw_rectangle_ptr = field->Value();
CRectangle* pRectangle = static_cast<CRectangle*>(raw_rectangle_ptr);
int area_value = pRectangle->Area();return Int32::New(area_value);
}Handle<Value> Rectangle_Getter(Local<String> property, const AccessorInfo& info)
{
Local<String> sw = String::New("w");
Local<String> sh = String::New("h");
Local<String> sarea = String::New("Area");Handle<External> field = Handle<External>::Cast(info.Holder()->GetInternalField(0));
void* raw_rectangle_ptr = field->Value();
CRectangle* pRectangle = static_cast<CRectangle*>(raw_rectangle_ptr);if(property->StrictEquals(sw)) return Int32::New(pRectangle->w);
if(property->StrictEquals(sh)) return Int32::New(pRectangle->h);
if(property->StrictEquals(sarea))
{
static Local<Function> Area_Fun = FunctionTemplate::New(Rectangle_Area)->GetFunction();
return Area_Fun;
}
return Undefined();
}Handle<Value> Rectangle_Setter(Local<String> property, Local<Value> value, const AccessorInfo& info)
{
Local<String> sw = String::New("w");
Local<String> sh = String::New("h");
Local<String> sarea = String::New("Area");Handle<External> field = Handle<External>::Cast(info.Holder()->GetInternalField(0)) ;
void* raw_rectangle_ptr = field->Value();
CRectangle* pRectangle = static_cast<CRectangle*>(raw_rectangle_ptr);if(property->StrictEquals(sw)) return Int32::New(pRectangle->w = value->Int32Value());
if(property->StrictEquals(sh)) return Int32::New(pRectangle->h = value->Int32Value());return Undefined();
}Local<ObjectTemplate> rectangle_template = ObjectTemplate::New();
rectangle_template->SetInternalFieldCount(1);
rectangle_template->SetNamedPropertyHandler(Rectangle_Getter, Rectangle_Setter);
rectangle_template->Set(String::New("w"), Int32::New(0));//由于设置了属性访问器和设置器,传入的Int32::New(0)不会被使用
rectangle_template->Set(String::New("h"), Int32::New(0));//由于设置了属性访问器和设置器,传入的Int32::New(0)不会被使用
rectangle_template->Set(String::New("Area"), Int32::New(0));//由于设置了属性访问器和设置器,传入的Int32::New(0)不会被使用
Local<Object> rectangle_obj = rectangle_template->NewInstance();rectangle_obj->SetInternalField(0, External::New(&rectangle));
Namespace->Set(String::New("rectangle"), rectangle_obj);
导出类(js中的构造函数):
希望在js中生成一个Rectangle类:
function Rectangle(w, h)
{
this.w = w;
this.h = h;
this.Area = function(){return this.w * this.h;}
}
进行如下调用:
var rectangle = new Rectangle(10, 20);
var area = rectangle.Area();
rectangle.w = 1;
rectangle.h = 2;
area = rectangle.Area();
实现:
Handle<Value> CRectangle_Area(const Arguments& args)
{
Local< Object > pThis = args.This();
int w = pThis->Get(String::New("w"))->Int32Value();
int h = pThis->Get(String::New("h"))->Int32Value();return Int32::New(w*h);
}
Handle<Value> Rectangle_InvocationCallback(const Arguments& args)
{
Local< Object > pThis = args.This() ;
int w = 0, h = 0;
if(args.Length() > 0) w = args[0]->Int32Value();
if(args.Length() > 1) h = args[1]->Int32Value();
pThis->Set(String::New("w"), Int32::New(w));
pThis->Set(String::New("h"), Int32::New(h));return pThis;
}
Local< FunctionTemplate > Rectangle_template = FunctionTemplate::New();
Local<ObjectTemplate> Rectangle_instance_template = Rectangle_template->InstanceTemplate();
Rectangle_instance_template->SetCallAsFunctionHandler(Rectangle_InvocationCallback);
Rectangle_instance_template->Set("w", Number::New(0));
Rectangle_instance_template->Set("h", Number::New(0));
Rectangle_instance_template->Set("Area", FunctionTemplate::New(CRectangle_Area));Local<Function> Rectangle_function = Rectangle_template->GetFunction();
Local<Object> Rectangle = Rectangle_function->NewInstance();
Namespace->Set(String::New("Rectangle"), Rectangle);完整源码请查看本人发布的资源
-
j2v8 js调用java_J2V8的使用
2021-03-19 09:16:41js 执行引擎说明内核演变Gecko(Netscape) - Trident(IE) - Gecko(firefox Mozilla) - Safari(webkit) - Chrome(Chromium) - Chrome(blink)javascript引擎 / 什么是J2V8/为什么要使用J2V8v8 引擎是使用c++编写的,... -
J-LINK V8 固件烧录说明
2018-08-06 17:34:44J-LINK 是使用过程中,如果使用内部3.3vLDO给目标办供电容易造成Jlink固件丢失,表现为插上为未知USB,灯无反应,内部固件意外损坏或丢失,请参考下面操作步骤说明,重新烧录JLINK固件。 1.安装固件烧录软件 下载... -
JLINK V8 固件恢复办法(使用SAM-PROG)
2016-04-15 16:55:50JLINK V8 固件恢复办法(使用SAM-PROG),其中包括Install AT91-ISP v1.13安装文件,jlink-v8.bin文件以及使用说明 -
富怡服装CAD V8 说明书--可打印.rar
2020-02-21 16:14:47富怡CAD教程,过程详细。适合初学者学习使用。 -
PHP V8 JavaScript 引擎引用JS安装配置说明
2020-04-10 17:30:23我们这里主要说PHP是如何使用V8 JavaScript扩展的。 注意:PHP7.0以上才支持 步骤: 1.浏览器输出自己的PHP环境信息,查看(<?php phpinfo();?>输出PHP环境信息): Thread Safety的值: 如果为:enabled,则说明... -
安易B/S结构纯WEB版财务软件V8说明书
2012-12-29 11:24:47安易王V8是使用新一代科技开发的纯WEB版财务及ERP管理软件,具有B/S结构的免安装, 易维护,移动互联的特点外。还有具有普通WEB版软件没有的特点。 一是页面不用刷新。 二是所有操作方便,与V7这类桌面安装程序... -
ROBOGUIDE-V8L基本操作说明手册V1.0.doc
2019-05-11 23:13:38FANUC离线编程使用,在没有真实设备时,通过该软件的联系,加深印象,熟悉机器人的操作界面与编程方式,对机器人的学习有很大帮助 -
安易web版bs架构财务软件V8人力资源操作说明书.pdf
2020-08-26 10:54:57XXX根据公司部门来进行设置可设置多个部门 操作说明 直接点击部门代码管理录入部门代码和名称保存即可 2工资项目定义 功能与作用 本功能用于增加删除修改工资表上的基本工资项目使用工资系统时必须先 建立工资的各个... -
apidoc 使用说明
2020-01-19 21:31:16需要安装的环境(本篇依次介绍) 在这里插入图片描述 电脑一台 nodejs环境 npm环境 apidoc环境 安装nodejs和npm ...node.png 下载完成后打开安装程序,一直next到底 。...安装完成之后 使用cmd进行查看nodejs版本 ...v8... -
Informatica+PowerCenter+V8函数功能使用指南
2012-08-16 23:04:16informatica powercenter 中的函数说明及使用方法,很全的…… -
v8:V8 Git存储库的官方镜像-源码
2021-01-31 10:59:42V8用C ++编写,并在Google Chrome(谷歌的开源浏览器)中使用。 V8可以独立运行,也可以嵌入到任何C ++应用程序中。 V8专案页面: : 获取代码 结帐软件,然后运行 fetch v8 这会将V8检出到目录v8并获取其所有... -
Jlink V8固件
2018-08-01 09:59:04jlink V8固件升级,内含说明文档和固件文件。 经过实际测试,可以正常使用 -
crystal-v8:Crystal的V8 Javascript引擎-源码
2021-02-04 20:27:33待办事项:在此处写下使用说明 发展历程 待办事项:在此处编写开发说明 贡献 分叉( ) 创建功能分支( git checkout -b my-new-feature ) 提交更改( git commit -am 'Add some feature' ) 推送到分支( git ... -
苹果cms v8和v10程序漏洞被注入恶意代码修复说明
2020-01-16 19:48:50苹果cms v8被大规模注入恶意代码,导致很多人都不敢在用,无论官方怎么修复,更新,都无济于事。到底是什么原因呢! 网上有很多人提到了,黑客是如何入侵网站找到漏洞在植入代码,但是几乎都没说到应该怎么禁止,... -
R83_V8_20L2_WIT_中文说明书.pdf
2020-05-16 11:49:47资料详细介绍了威猛巴顿菲尔机械手的硬件部分、操作方法、软件部分使用和维护,在注塑行业的市场占有率高,广泛应用在模具内取料,此资料有利于技术人员和注塑机操作人员可以快速了解机械手的操作方法,程序简单修改... -
如何使用J-Link V8 烧写程序到NandFlash
2013-06-02 18:45:02如何使用J-Link V8 烧写程序到NandFlash 以mini2440 开发板来说明 Mini2440 Memory 配置: NAND flash:K9F1208(64M x 8 Bit) 64MByte [0x00000000~0x03FFFFFF] NOR flash:SST39V