文档库 最新最全的文档下载
当前位置:文档库 › J-Link v4.50在MDK4.23下调试2440

J-Link v4.50在MDK4.23下调试2440

J-Link v4.50在MDK4.23下调试2440
J-Link v4.50在MDK4.23下调试2440

商家提供的JTAG,在KEIL 的4.23 版本下调试TQ2440 都OK,笔者安装的是MDK 4.23版本,JLINK的驱动等都安装完毕后(请友友们自行安装SEGGER公司的软件),我们开始进入正题:

1、建立文件夹:先在桌面新建一个文件夹,名字叫LED的文件夹,用于存放本次工程的所有文

2、建立工程

运行MDK4.23,新建工程(如图一),工程名叫LED 保存于刚刚建的LED 文件夹(图二)

图一

图二

图三:选择芯片

型号

点OK 出现图四所示,提示是否加入2440 自带的文件,这是点是

图四

加入源程序,如图五,这里假设你已经写好源程序,程序名叫main.c,而且已经放在一开始建立的LED 文件夹里面,加入源文件,如图六

图五

图六

工程建立完毕,接下来是重点:

相信很多人都会设置那个 0x30000000 那几个了吧,意思就是下载到 SRAM 中运行

OUTPUT 栏设置如图 八,把 HEX 选上

接下来设置 USER 栏,这个设置很重要,fromelf.exe --bin -o @p,bin @p.axf 是为了生成 BIN 文件而设置的,BIN 文件是调试要用到的,如图 九

设置工程 点击快捷图标

, T arget 栏的设置如图七

图七:晶振可以默认

12.0MHz 。

图八

再接下来是设置 DEBUG 栏,这一栏一定要设置正确,我之前在群内问嵌入式各位大兄的时候,他们没有用MDK+JLink+2440开发。

1) 先去 MDK 的安装目 :

RTX_Blinky

文件夹下找到

文件,(注意,我用的 MDK4.23 版里面找到不这个文件,

我后来是去 MDK3.8 版本里面找到的.)

,我们把这个文件 COPY 到一开始建立的文件夹里面

图九

到这个时候,任务还没完成, 这个勾一定要去掉 ,如果这里没写对,你后面 将不能调试,

我们怎么做呢,点击 程序 编辑窗口多了一个 东 西,我们暂时先 关闭工程设置窗口,这样 才能进行下一步,

改成如图十三所示

图十一:接下来选中该文件,加入进去如图十二

接下来设置CPU 的Flash :如图十四所示

点击Flash Configure Flash Tools

最后设置Utilitis 栏,需要设置J-LINK ,如此图所示。

去掉Update Target before Debugging 前面的勾选项

设置好此步后点击OK

图十四

在Utilities栏进行设置,如图所示:图十五:点击Settings,出现下图十六所示

图十六:点击Add

图十七:选择Falsh。再

次点击Add即可完成添加。

点击OK,完成添加。此时可以开启你的

MDK+J-Link+2440的开发之旅了。

笔者这里是流水灯程序,全速一下,全部OK!,灯闪了哈,很好。

好了,心得就先写到这里,第二次写心得,有点进步,如果有网友看此文章后,调试不出来的请联系我!

昵称:夏一跳

QQ:776959177, 邮箱:776959177@https://www.wendangku.net/doc/622939677.html,

注:添加好友时,请各位友友们备注一下(姓+职业+地点)。。。谢谢大家。晚安!!

夏一跳------2013年04月24日-------凌晨1:19

Linux内核修改与编译图文教程

Linux 内核修改与编译图文教程 1

1、实验目的 针对Ubuntu10.04中,通过下载新的内核版本,并且修改新版本内核中的系统调用看,然后,在其系统中编译,加载新内核。 2、任务概述 2.1 下载新内核 https://www.wendangku.net/doc/622939677.html,/ 2.2 修改新内核系统调用 添加新的系统调用函数,用来判断输入数据的奇偶性。 2.3 进行新内核编译 通过修改新版内核后,进行加载编译。最后通过编写测试程序进行测试 3、实验步骤 3.1 准备工作 查看系统先前内核版本: (终端下)使用命令:uname -r 2

3.2 下载最新内核 我这里使用的内核版本是 3.3 解压新版内核 将新版内核复制到“/usr/src”目录下 在终端下用命令:cd /usr/src进入到该文件目录 解压内核:linux-2.6.36.tar.bz2,在终端进入cd /usr/src目录输入一下命令: bzip2 -d linux-2.6.36.tar.bz2 tar -xvf linux-2.6.36.tar 文件将解压到/usr/src/linux目录中 3

使用命令: ln -s linux-2.6.36 linux 在终端下输入一下命令: sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt 4

使用H-Jtag或Jlinkv7单步调试

使用H-Jtag 的单步调试实验 启动H-Jtag,正确读取CPU 的ID 号。(这里默认您已经会使用H-Jtag,并且Jtag 板已经连接了开发板和PC、串口线也连接了开发板和PC) 说明:除去Jtag 接口、串口和LCD 接上设备外,不要接诸如USB 下载线等,因为单步调试时涉及中 断的调试会出现在中断响应的地方死循环的情况。 点击“”进入AXD 的调试页面,如下图所示: 然后点击“Options->Configure Target”进行配置,操作如下所示:

说明:这里直接将Jlink V7 的也选上了,下一节就不再进行说明。 配置过程,截图如下: 然后关闭AXD(其实也不用关闭AXD,直接点击“Files->Load Debug Symbols”选项,然后选择 TQ2440_Test.axf 文件,此时不推荐这样做),然后重新在ADS 1.2 中打开AXD,下面是加载完毕镜像后的

然后此时就可以单步调试了,下面列出常用的几个按钮以及功能(功能介绍依次从左到右介绍): 全速运行按钮:点击它就全速运行 暂停按钮:点击它可以暂停全速运行 调试按钮:实现单步调试,跳过函数调试等功能(中间4 个按钮) 显示执行点按钮:显示执行位置 断点按钮:设置断点 注意:单步调试时,对于中断等调试是没法进行的(比如接了USB 下载线),否则会出现在2440init.s 文件的415 行“ msr cpsr_cxsf,r1 ;SVCMode”处死循环,因为进入了中断响应子程序。 说明1:对于想要调试nand.c 文件的代码时,需要修改2440init.s 文件的314 和315 行,将其屏蔽(也就是前面加“;”号),并且要求从Nand Flash 启动才行,要Nand Flash 中的数据和您要调试的数据相同才行,否则是没法实现的。 说明2:对于调试时修改了代码,想要重新调试的解决方法为:在ADS 1.2 中编译(注意:是编译)镜像,然后再在AXD 中“Files->Reload Current Image”重新加载镜像即可。 说明3:对于已经设置过了AXD,然后第一次调试时打开AXD 出现错误的解决办法:首先重新配置AXD,然后点击“Files->Load Debug Symbols”,打开“TQ2440_Test.axf”文件,就可以加载镜像进行单步调 试了。这里仅仅抛砖引玉的初步介绍单步调试的方法,可能您在实际使用中还会遇到问题,请到天嵌科技的 论坛发帖子询问。 使用Jlink V7 的单步调试实验 在5.3.2 中已经添加了Jlink 的dll 文件,然后配置Jlink,首先打开“Options->Configure Target”,然后选择“Multe-ICE”,点击Configure 后,在出现的Jlink 配置单中使用默认配置即可;然后打开“Options->Configure Interface”,然后在出现的对话框中选择session file 页面,然后导入光盘的“Windows 平台开发工具包\Jlink 资源\init_sdram.txt”文件,操作如下图所示:

如何自行编译一个Linux内核的详细资料概述

如何自行编译一个Linux内核的详细资料概述 曾经有一段时间,升级Linux 内核让很多用户打心里有所畏惧。在那个时候,升级内核包含了很多步骤,也需要很多时间。现在,内核的安装可以轻易地通过像 apt 这样的包管理器来处理。通过添加特定的仓库,你能很轻易地安装实验版本的或者指定版本的内核(比如针对音频产品的实时内核)。 考虑一下,既然升级内核如此容易,为什么你不愿意自行编译一个呢?这里列举一些可能的原因: 你想要简单了解编译内核的过程 你需要启用或者禁用内核中特定的选项,因为它们没有出现在标准选项里 你想要启用标准内核中可能没有添加的硬件支持 你使用的发行版需要你编译内核 你是一个学生,而编译内核是你的任务 不管出于什么原因,懂得如何编译内核是非常有用的,而且可以被视作一个通行权。当我第一次编译一个新的Linux 内核(那是很久以前了),然后尝试从它启动,我从中(系统马上就崩溃了,然后不断地尝试和失败)感受到一种特定的兴奋。 既然这样,让我们来实验一下编译内核的过程。我将使用Ubuntu 16.04 Server 来进行演示。在运行了一次常规的 sudo apt upgrade 之后,当前安装的内核版本是 4.4.0-121。我想要升级内核版本到 4.17,让我们小心地开始吧。 有一个警告:强烈建议你在虚拟机里实验这个过程。基于虚拟机,你总能创建一个快照,然后轻松地从任何问题中回退出来。不要在产品机器上使用这种方式升级内核,除非你知道你在做什么。 下载内核 我们要做的第一件事是下载内核源码。在 Kernel 找到你要下载的所需内核的URL。找到URL 之后,使用如下命令(我以 4.17 RC2 内核为例)来下载源码文件: wget https://git.kernel/torvalds/t/linux-4.17-rc2.tar.gz

GPS调试笔记

.. GPS调试笔记 调试GPS过程是在老师指导下完成的,大部分功能是我们在寒假期间调试出来的,在调试的过程中困难重重,还是具体介绍我们调试的过程吧。 刚开始我们买回来了GPS模块型号是ST-200看着模块介绍手册,就想着把硬件电路搭建起来,利用实验室师兄刚刚制作的一个单片机最小系统板和GPS模块进行通讯,开始想的很简单就是数据的接收和显示过程,GPS模块是一个较小的原件携带方便如图一GPS 模块。 (图一GPS模块) GPS模块一共就有六个引脚如图二。 (图二GPS引脚图) 这样连接起来也简单方便,下面对管脚进行一下介绍1:接地GND,2:电源VCC,3:输入TXA,4:输出RXA,5:预备电源V_BAT,6:脚可以悬空,就是这么一个简单的模

块就可以接收卫星信号了,开始是用串口采集数据看接收的数据是什么形式的,虽然在很多资料中已经看到过这方面数据的介绍,但是还要自己验证一下才好。 起初的时候由于读写信号线没能正确连接,导致数据不能通过串口传输过来,通过很长时间查找,也问了很多人最后是老师发现读写信号线出现了问题,这个小问题可让我查了好久才解决的,在下面的调试过程中自己也是从这里总结出来了经验,把每一步慢慢做好不能急功近利。下面具体说一下这个问题:问题就是在单片机、max232、GPS模块这三者的读写信号线之间的矛盾。开始自己是按与单片机通讯来设置的线路,但是如果与单片机通讯,那么GPS和单片机的读写信号就应该交换,但是这样就不会与232进行通讯了,只有和单片机的读写信号线对应连接就可以了。这个问题虽然解决了,但是想象中的数据怎么没有那,在实验室屋里就是怎么调也没有数据,还是老师指点这GPS是必须得在外边使用,在有建筑物遮挡的情况下是不能接收到信号的,这时又有新问题出现了没有电源啊,实验室里电源是好办了,但是在空旷的操场那里有电源啊,最后还是我的笔记本解决了这个问题(在后来又换上了电池),用USB供电就轻松解决了电力问题,拿着笔记本在拿上两个板凳就到外边做实验是,今年的雪特别大,那几天还偏赶上是大雪纷飞的时候,在雪中我们做着实验首先通过串口接收数据。如图三串口界面截图:

嵌入式Linux系统内核的配置、编译和烧写

实验二 嵌入式Linux系统内核的配置、编译和烧写 1.实验目的 1)掌握交叉编译的基本概念; 2)掌握配置和编译嵌入式Linux操作系统内核的方法; 3)掌握嵌入式系统的基本架构。 2.实验环境 1)装有Windows系统的计算机; 2)计算机上装有Linux虚拟机软件; 3)嵌入式系统实验箱及相关软硬件(各种线缆、交叉编译工具链等等)。 3.预备知识 1)嵌入式Linux内核的配置和裁剪方法; 2)交叉编译的基本概念及编译嵌入式Linux内核的方法; 3)嵌入式系统的基本架构。 4.实验内容和步骤 4.1 内核的配置和编译——配置内核的MMC支持 1)由于建立交叉编译器的过程很复杂,且涉及汇编等复杂的指令,在这里 我们提供一个制作好的编译器。建立好交叉编译器之后,我们需要完成 内核的编译,首先我们要有一个完整的Linux内核源文件包,目前流行 的源代码版本有Linux 2.4和Linux 2.6内核,我们使用的是Linux 2.6内核; 2)实验步骤: [1]以root用户登录Linux虚拟机,建立一个自己的工作路径(如用命令 “mkdir ‐p /home/user/build”建立工作路径,以下均采用工作路径 /home/user/build),然后将“cross‐3.3.2.tar.bz2、dma‐linux‐2.6.9.tar.gz、 dma‐rootfs.tar.gz”拷贝到工作路径中(利用Windows与虚拟机Linux 之间的共享目录作为中转),并进入工作目录; [2]解压cross‐3.3.2.tar.bz2到当前路径:“tar ‐jxvf cross‐3.3.2.tar.bz2”; [3]解压完成后,把刚刚解压后在当前路径下生成的“3.3.2”文件夹移 动到“/usr/local/arm/”路径下,如果在“/usr/local/”目录下没有“arm” 文件夹,用户创建即可; [4]解压“dma‐linux‐2.6.9.tar.gz”到当前路径下:

lwip环回调试笔记

没有上系统,lwip裸奔,raw/callback方式调用UDP函数通过环回接口自发自收。 首先是移植,用户需要编写的文件有cc.h,perf.h,cpu.h,lwipopts.h,参考的是st官方代码和lwip的移植说明。 然后stm32的时钟以及串口再加一个定时器配置好,串口输出调试信息,定时器周期更新ARP table和维护TCP slow/fast timer,最重要的是这里用到的环回接口需要周期性调用netif_poll这个函数,把环回接口中收到的数据递交给IP层。 用伪代码描述一下出错的代码: Stm32时钟外设初始化; Lwip初始化; 建立一个UDP客户端,绑定127.0.0.1,连接至UDP服务器; 建立一个UDP服务器,绑定127.0.0.1;连接至UDP客户端; 申请内存, 把数据填至内存; While{ 周期调用tcp_tmr(); 周期调用etharp_tmr(); 周期发送数据udp_sendto(); netif_poll(); } 结果是第一次发送和接收都正常,第二次开始就出错,经跟踪,到第二次发送前发现错误原因。首次发送,接收后申请的内存已释放,再次发送前必须再次申请内存且填充用户数据; 改正后 Stm32时钟外设初始化; Lwip初始化; 建立一个UDP客户端,绑定127.0.0.1,连接至UDP服务器; 建立一个UDP服务器,绑定127.0.0.1;连接至UDP客户端; While{

周期调用tcp_tmr(); 周期调用etharp_tmr(); 周期申请内存并填充数据,然后用周期发送数据udp_sendto()发送数据; netif_poll(); } 至此数据可以正常收发,但是还是高兴早了,程序跑了一会就停了,重启跑了一会又停了,发现每次都是收发223次后停止,开始怀疑是不是内存泄露了,排查中... 在周期申请内存后,检查是否申请成功,不成功打印输出信息;(单片机初学者没上过系统和协议栈,没有用过动态内存分配,这点常识没有,好羞愧。)果不其然,224次输出memory error 找到问题所在了,就是内存泄露,但是哪里泄露呢?在Udp的接收处理回调函数里最后释放pbuf了呀,怎么回事,排查中... 开始试探:每一次发送11个字节223次时内存不足; 每一次发送196个字节75次时内存不足; 一觉醒来,已经是第二天早上,用keil仿真,看内存区,的确是被占的满满的,开始跟踪调试... 有重大发现,netif_loop_output该函数会申请内存,并把用户数据赋值到其中,而后递交给IP进而UDP,最终至用户,我之前在回调函数里只是把netif_loop_output申请的内存给释放了,而我自个发送前申请的内存未释放,好了改代码如下: Stm32时钟外设初始化; Lwip初始化; 建立一个UDP客户端,绑定127.0.0.1,连接至UDP服务器; 建立一个UDP服务器,绑定127.0.0.1;连接至UDP客户端; While{ 周期调用tcp_tmr(); 周期调用etharp_tmr(); 周期申请内存并填充数据,然后用周期发送数据udp_sendto()发送数据,

JLINK使用指南

第二十三章:JLINK仿真调试器的使用 首先JLINK只能对NOR FLASH 进行烧写。 如何用JLINK将uboot烧写到NOR FLASH为例来讲解JLINK的用法。假定已经装好了JLINK驱动程序。 第一步:检测JLINK 是否和电脑连接上,用USB线连接JLINK和电脑打开J-Link Commander观察相关信息,看到如下信息证明JLINK已经和电脑连接上。 第二步:关掉上面的窗口,将JLINK和目标板连接,再次打开J-Link Commander观察相关信息,看到如下信息证明JLINK已经找到目标板的芯片。 第三步JLINK 相关设置首先打开J-Flash ARM 看到后选择Options Project Settings 或者直接按Alt+F7 进入工程设置。 在CPU选项中按下图进行选择。内核选择为ARM9,选Use target RAM(faster)Addr栏中填40000000 4KB

在FLASH选项中进行如下设置首先勾掉Automatically detect flash memory看到如下界面后点select flash-----Device选择SST39VF1601。设置完以后点击确认。注意BASE ADDR 为00000000. 第四步:点击file —>open或直接按Clt+O找到存放已经生成好的uboot.bin的文件,并打开uboot.bin。此时软件会提示Start address点击OK.

第五步按F7让JLINK软件实现自动下载。下图为程序下载完成后的界面。 整个过程到此结束,需要注意的是下载完成后必须拔掉JLINK程序才会跑起来。 说明:如果出现以下错误提醒,解决方法及可能原因: 1)注意BASE ADDR为00000000.可能设置错误了; 2)J-LINK复位时间短了或长了; 3)NOR FLASH里面有坏区或烧写误操作导致(通过H-JTAG清空,一般很少出现)。

linux、内核源码、内核编译与配置、内核模块开发、内核启动流程

linux、内核源码、内核编译与配置、内核模块开发、内核启动流程(转) linux是如何组成的? 答:linux是由用户空间和内核空间组成的 为什么要划分用户空间和内核空间? 答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的 安全性,比如X86可以有4种模式RING0~RING3 RING0特权模式给LINUX内核空间RING3给用户空间 linux内核是如何组成的? 答:linux内核由SCI(System Call Interface)系统调用接口、PM(Process Management)进程管理、MM(Memory Management)内存管理、Arch、 VFS(Virtual File Systerm)虚拟文件系统、NS(Network Stack)网络协议栈、DD(Device Drivers)设备驱动 linux 内核源代码 linux内核源代码是如何组成或目录结构? 答:arc目录存放一些与CPU体系结构相关的代码其中第个CPU子目录以分解boot,mm,kerner等子目录 block目录部分块设备驱动代码 crypto目录加密、压缩、CRC校验算法 documentation 内核文档 drivers 设备驱动 fs 存放各种文件系统的实现代码 include 内核所需要的头文件。与平台无关的头文件入在include/linux子目录下,与平台相关的头文件则放在相应的子目录中 init 内核初始化代码 ipc 进程间通信的实现代码 kernel Linux大多数关键的核心功能者是在这个目录实现(程序调度,进程控制,模块化) lib 库文件代码 mm 与平台无关的内存管理,与平台相关的放在相应的arch/CPU目录net 各种网络协议的实现代码,注意而不是驱动 samples 内核编程的范例 scripts 配置内核的脚本 security SElinux的模块 sound 音频设备的驱动程序 usr cpip命令实现程序 virt 内核虚拟机 内核配置与编译 一、清除 make clean 删除编译文件但保留配置文件

JLINK-rtt使用经验

Jlink RTT使用说明 单片机进行调试,一般都会分配出来一个调试的串口,如果单片机使用jlink烧录器,那么可以使用调试工具-RTT来代替串口进行信息的交互,不需要使用串口。 RTT(Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都支持RTT。 需要安装J-Link驱动4.90之后的版本 1、使用JLINK SEGGER RTT打印调试信息 然后将这四个文件添加到自己工程中去,并且在主程序工程中包含SEGGER_RTT.h文件。 然后我们就可以直接在主函数中调用SEGGER_RTT_printf函数来打印调试信息了,该函数用法和printf函数类似,只是多了一个参数用来指定RTT通道。其中通道0,就是我们在调试时使用的通道。在主函数中添加如下代码即可打印信息。 SEGGER_RTT_printf(0,"Times %d\r\n",++u32Counter); 这个函数不支持浮点数,如输出浮点数可以先使用sprintf输出到缓存,再使用SEGGER_RTT_WriteString输出。 char rtt_out_str[80]; sprintf(rtt_out_str,"FloatValueIs%f;\n",var_float); SEGGER_RTT_WriteString(0,rtt_out_str); 单独打开RTT VIEWER 可以使用 如果打开JLinkRTTClient,必须同时打开RTT VIEWER 才可以使用

2、RTT输入检测 首先在程序中添加SEGGER_RTT_Read(0,rtt_buf,sizeof(rtt_buf)); 其次在J-Link RTT Viewer控制台的Input里面选择Sending/Send on Enter,然后End of Line 选择None 这样就可以通过下方输入框输入信息,按Enter发送 RTT VIEWER input设置 Win10自带的截图功能非常好用,快捷键Win + Shift + S

linux内核编译和生成makefile文件实验报告

操作系统实验报告 姓名:学号: 一、实验题目 1.编译linux内核 2.使用autoconf和automake工具为project工程自动生成Makefile,并测试 3.在内核中添加一个模块 二、实验目的 1.了解一些命令提示符,也里了解一些linux系统的操作。 2.练习使用autoconf和automake工具自动生成Makefile,使同学们了解Makefile的生成原理,熟悉linux编程开发环境 三、实验要求 1使用静态库编译链接swap.c,同时使用动态库编译链接myadd.c。可运行程序生成在src/main目录下。 2要求独立完成,按时提交 四、设计思路和流程图(如:包括主要数据结构及其说明、测试数据的设计及测试结果分析) 1.Makefile的流程图: 2.内核的编译基本操作 1.在ubuntu环境下获取内核源码 2.解压内核源码用命令符:tar xvf linux- 3.18.12.tar.xz 3.配置内核特性:make allnoconfig 4.编译内核:make 5.安装内核:make install

6.测试:cat/boot/grub/grub.conf 7.重启系统:sudo reboot,看是否成功的安装上了内核 8.详情及结构见附录 3.生成makefile文件: 1.用老师给的projec里的main.c函数。 2.需要使用automake和autoconf两个工具,所以用命令符:sudo apt-get install autoconf 进行安装。 3.进入主函数所在目录执行命令:autoscan,这时会在目录下生成两个文件 autoscan.log和configure.scan,将configure.Scan改名为configure.ac,同时用gedit打开,打开后文件修改后的如下: # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) AC_CONFIG_SRCDIR([main.c]) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE(main,1.0) # Checks for programs. AC_PROG_CC # Checks for libraries. # Checks for header files. # Checks for typedefs, structures, and compiler characteristics. # Checks for library functions. AC_OUTPUT(Makefile) 4.新建Makefile文件,如下: AUTOMAKE_OPTIONS=foreign bin_PROGRAMS=main first_SOURCES=main.c 5.运行命令aclocal 命令成功之后,在目录下会产生aclocal.m4和autom4te.cache两个文件。 6.运行命令autoheader 命令成功之后,会在目录下产生config.h.in这个新文件。 7.运行命令autoconf 命令成功之后,会在目录下产生configure这个新文件。 8.运行命令automake --add-missing输出结果为: Configure.ac:11:installing./compile’ Configure.ac:8:installing ‘.install-sh’ Configure.ac:8:installing ‘./missing’ Makefile.am:installing ‘./decomp’ 9. 命令成功之后,会在目录下产生depcomp,install-sh和missing这三个新文件和执行下一步的Makefile.in文件。 10.运行命令./configure就可以自动生成Makefile。 4.添加内核模块

7031变频器调试笔记

变频器调试笔记 要求: 变频器型号:6SE7031-0EE60输出额定电流为92A. 制动单元:6SE7028-0EA87-2DA0 制动电阻:6SE7028-0ES87-2DC0 功能:主轴要求具有正转。反转。正点。反点。 模拟给定(AI1=±10V) 步骤: 首先:P60=5 选择“系统参数”菜单 P71=380V 装置输入电压V P100=3 无测速机的速度控制(F控制) P101=380V 电机额定电压V P102= 75.6A 电机额定电流A P107=50Hz 电机额定频率Hz P109=3 电机极对数(自动计算) P115=1 计算电机数据 P352=200Hz 最大频率 P383=0 电机发热时间常数S(<100S!去除监控

P452=100 正向旋转时最大频率或速度% P453=—100 反向旋转时最大频率或速度% P60=1 回到参数菜单(以上参数设置不合理将导致 故障,错误的设定参数被写入r949 P462=10秒从静止加速到最大频率(P352)的时间 P464=10秒从最大频率(P352)减速到静止的时间 P465=0 减速时间单位:秒 装置优化:P115=2 计算电机模型“静止状态电机辩识” P115=4 计算电机模型“空载测量” P115=5 计算电机模型“调节器优化” 以上优化在参数设置完后20秒内变频器必须启 动(PU板上的I按钮);全部优化完后,等待, 直至变频器断电。工作状态为“开机准备”009。 端子设定: P368=1 PMU板和端子板控制有效 P443=11 模拟给定(电位器控制) P554=22(端子9)启动 P568=18(端子7)正点 P569=20(端子8)反点 P448= 5 正点给定频率 P449= -5 反点给定频率

Jlink 调试

Mini INS/GPS 如何使用Jink 调试 Mini INS/GPS 本文档主要解决以下问题: 1. Mini INS/GPS的SWD仿真接口的定义 2. Jlink 仿真器如何连接SWD仿真接口 3. 如何使用Jflash 下载目标HEX格式文件 4. 如何使用J link 仿真和调试程序

为了方便用户调试姿态解算程序,Mini INS /GPS 提供了SWD 调试接口。它只需要4个引脚就可以仿真和调试STM32F 的程序。 1. SWDIO 数据通信引脚 2. SWDCLK 时钟引脚 3. GND 公共地,需要与仿真器的地连接在一起 4. VCC 3.3V 电源,有的仿真器用于检测目标芯片是否已上电。 以下是SWD 仿真接口在Mini INS/GPS 板子上的位置和引脚定义 Mini INS /GPS 的SWD 调试接口 双色状态指示 LED SWD 调试接口

Jlink 仿真器的接口 SWD 接口Jlink 仿真器 J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11内核芯片的仿真,通过RDI接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。Jlink 是分版本的,只有Jlink V6 或者更高版本的Jlink 才支持SWD 接口目前市面上的大都是Jlink V8版本,这是完美支持SWD 调试的 注意: SWD 数据 SWD 时钟 目标板电压 目标板GND 只需连接其中一个就可

S3C44B0 调试笔记(1)

S3C44B0 调试笔记 ——BIOS部分 由于调试耗费了我太多时间,所以记录下来,方便以后复习,同时也希望能给初学者一点儿启示,大家少走弯路。 我是去年开始听说ARM的,可能是本人太闭塞了吧。看到后就有一种想玩的冲动,想从51升级ARM。网上都说44B0比较适合初学者。机缘巧合,21ic上看到有人叫卖44B0空板,很便宜100RMB,主板加简易JTAG小板。做研发的都穷啊。还不错,钱汇过去,板子第3天就回来了,就是网上流行的那个44B0 PCB。贴个图吧,随便找了块和我那块板子一模一样的: (FIGURE - 1) 拿到板子挺高兴的,检查了一下线路没问题。就按对方提供的BOM单采购元器件。先把电源部分焊上,测量没问题,再把必要的元器件焊上(CPU、SDRAM、FLASH、UART),同时还有JTAG小板。量电源和地没有短路,上电!电源灯亮了,没冒烟。 下面一步就是把BIOS程序烧写到FLASH上了,对方提供的是FLUTED,按照说明操作,烧录失败!这下傻了,最怕的就是这个,对于一个初学者来说,简直是灭顶之灾啊。首先怀疑CPU或FLSH是否虚焊,我的焊接水平一般,所以很值得怀疑,只好又搪了一遍。但问题依旧。又怀疑JTAG小板,仔细检查了一下没问题啊,跳线插插拔拔的也没无济于事。怀疑并口,重启进BIOS,并口设置也没问题。当天是没办法了,睡觉吧。 第二天就开始联系供应商,寻求帮助,但没什么结果。也是,就100块钱,还要什么服务啊。只好自己找问题,看到原理图上FLASH用的是SST 39VF160 ,我记得我的不一样啊?我的BOM上写的是AM29LV160,我又询问了供应商,他确认了一下说他的BOM写错了。狂晕啊。不过还好,终于找到问题了,但换FLASH还得周末去买啊,等不及了,看看这个能不能凑合用吧,改FLUTED的FCD文件,就是根目录那个DEFAULT.FCD。找到2块FLASH的Datasheet对比着改,连改带调,2个晚上,终于烧录成功了。拔下JTAG,接上串口,打开超级终端。复位,一堆乱码,我想应该差不多了,试着更改超级终端的设置。终于成功了,我看到BIOS的提示信息了,敲个help进去,出来一堆,当时感觉好爽,这个

linux2.6内核的编译步骤及模块的动态加载-内核源码学习-linux论坛

[原创]linux2.6内核的编译步骤及模块的动态加载-内核源码 学习-linux论坛 05年本科毕业设计做的是Linux下驱动的剖析,当时就买了一本《Linux设备驱动程序(第二版)》,但是没有实现将最简单的helloworld程 序编译成模块,加载到kernel里。不过,现在自己确实打算做一款芯片的Linux的驱动,因此,又开始看了《Linux设备驱动程序》这本书,不过已 经是第三版了。第二版讲的是2.4的内核,第三版讲的是2.6的内核。两个内核版本之间关于编译内核以及加载模块的方法都有所变化。本文是基于2.6的内核,也建议各位可以先看一下《Linux内核设计与实现(第二版)》作为一个基础知识的铺垫。当然,从实践角度来看,只要按着以下的步骤去做也应该可以实现成功编译内核及加载模块。个人用的Linux版本为:Debian GNU/Linux,内核版本为:2.6.20-1-686.第一步,下载Linux内核的源代码,即构建LDD3(Linux Device Drivers 3rd)上面所说的内核树。 如过安装的Linux系统中已经自带了源代码的话,应该在/usr/src目录下。如果该目录为空的话,则需要自己手动下载源代码。下载代码的方法和链接很多,也可以在CU上通过

https://www.wendangku.net/doc/622939677.html,/search/?key=&;q=kernel&a mp;frmid=53去下载。不过,下载的内核版本最好和所运行的Linux系统的内核版本一致。当然,也可以比Linux系统内核的版本低,但高的话应该不行(个人尚未实践)。 Debian下可以很方便的通过Debian源下载: 首先查找一下可下载的内核源代码: # apt-cache search linux-source 其中显示的有:linux-source-2.6.20,没有和我的内核版本完全匹配,不过也没关系,直接下载就可以了: # apt-get install linux-source-2.6.20 下载完成后,安装在/usr/src下,文件名为: linux-source-2.6.20.tar.bz2,是一个压缩包,解压缩既可以得到整个内核的源代码: # tar jxvf linux-source-2.6.20.tar.bz2

屠宰废水调试笔记

水解酸化是通过控制水力停留时间,将厌氧过程控制在水解段而不进入酸性衰退阶段,此时,大分子有机物被水解为小分子有机物,以利后续好氧处理,同时,回流污泥处于缺氧状态时,减少了剩余污泥的排出量。 为了进一小保证气浮处理的效果,同时利用废水中投加一定量混合剂,使废水中的乳化油脂破乳和白污凝固的作用,采用先进的气浮设备,将其分离,通过上述预处理,可将废水中的胡机物、悬浮物和胶体更彻底地除去,其出水与厂生活污水混合,汇入集水井,该污水由提升泵排入水解调节池。污水在水解调节池水力停留时间约12~18小时,在调节水质、水量的同时,在异养型兼性微生物和酶的作用下,含碳有机物被水解成单扩、蛋白质被水解为肽和氨基酸,脂肪被水解为甘油脂肪酸,即:大分子有机物经过断链和不完全降解后,变为生化的小分子有机物,出水进入后续的好氧反应,在此阶段,COD的去除率可达20%左右。为保证水解调节池有充足的微生物,在池增设填料,使微生物在其上附着生长,池设6台水下曝气机。 制衣废水的接触氧化调试 3.1、调试前的准备 3.1.1、调试前期主要工作 (1)清水试车已经完成。 (2)各构筑物及设备已开始正常使用,有一定量的污水产生,能够维持污水处理工序的基本运行。 (3)有良好的接种污泥的来源。 3.1.2、接种污泥的来源 污泥接种可以大大缩短污泥培养驯化的时间。 以下污泥可作为接种污泥且按此顺序确定优先级: ①同类污水厂的剩余污泥或脱水污泥 ②城市污水厂的剩余污泥或脱水污泥 ③其它不同类污水站的剩余污泥或脱水污泥 ④河流或湖泊底部污泥 ⑤粪便污泥上清液 本次调试采用接种污泥取自市政污水厂脱水后的污泥。 3.1.3、接种污泥的数量 接种量视污泥种类的不同而不同,一般接种量为3-5g/L干污泥。本次调试向一级接触氧化池和二级接触氧化池分别投入约3t含水率80%的泥饼,投加方式为多点投加。 3.2、接触氧化池单元的调试 3.2.1 污泥的培养 污泥的培养有连续培养法和间歇培养法。针对本工程的特点,污泥培养可采用连续培养的方法。 (1)向调节池注入生活污水,并投入一定的营养源。 (2)当调节池液位达到中液位以上时,开启污水提升泵,将污水打入水絮凝沉淀池,絮凝沉淀池水满之后流入水解酸化池,水解酸化池水满之后流入接触氧化池。 (3)当一、二级接触氧化池液位均达到设计液位时,开启鼓风机,同时停止调节池的提升泵,闷曝1~2天。 (4)之后启动一级沉淀池中的污泥回流泵,将污泥回流至水解酸化池,同时开启二级沉淀池中的污泥回流泵,将污泥回流至一级接触氧化池,继续闷曝2~3天,投入适量的养料。闷曝一个星期之后,开启调节池提升泵,将生活污水提升至后续处理单元,水量逐渐增大,通过调节提升泵出水阀门及回流阀进行水量控制。 (5)依上述流程连续运行,观察填料上污泥的生长状况。 (6)当填料上的生物膜达到1~2mm厚时,且沉淀池的出水较清澈,氧化池进出水去除率>60%时,可认为生物膜的培养基本结束。此时可关闭沉淀池中的污泥回流泵,不再将污泥回流至接触氧化池。当水质恶化时,可适时开启污泥回流泵,以增强处理效果。 3.2.2 污泥驯化 当污泥培养成功之后,即可进行污泥驯化阶段。本工程调试采用方法属异步驯化。 (1)调节池进入厂区排放废水。 (2)开启污水提升泵将污水提升至水解酸化池,水解酸化池污水自流入一级接触氧化池,控制提升泵出水水量约为设计水量的1/4,即提升水量为每天100t。 (3)持续运行一段时间之后,观察出水水质情况,当沉淀池的出水较清澈,加大提升泵出水水量,每次增加10-20%(以设计流量为基准),重复以上步骤,直至达到满负荷,当处理水量达到满负荷,水质亦能达标时,驯化阶段结束。进入试运行及稳定运行阶段。3.2.3 注意事项 (1)接种污泥在投加入反应器前,应以小于0.5mm的沙网滤过,以去除其中尺寸较大

Linux kernel内核升级全过程,教你一次成功

序言 由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。没想到这一弄就花了两天时间( 反复装系统,辛苦啊~~),总算把Linux系统从2.4.20-8内核成功升级到了2.6.18内核。 网上虽然有很多介绍Linux内核升级的文章,不过要么过时,下载链接失效;要么表达不清,不知所云;更可气的是很多 文章在转载过程中命令行都有错误。刚开始我就是在这些“攻略”的指点下来升级的,以致于浪费了很多时间。 现在,费尽周折,升级成功,心情很爽,趁性也来写个“升级攻略”吧!于是特意又在虚拟机上重新安装一个Linux系统 ,再来一次完美的升级,边升级边记录这些步骤,写成一篇Linux内核升级记实录(可不是回忆录啊!),和大家一起分享 ~~! 一、准备工作 首先说明,下面带#号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。 启动Linux系统,并用根用户登录,进入终端模式下。 1、查看Linux内核版本 # uname -a 如果屏幕显示的是2.6.x,说明你的已经是2.6的内核,也用不着看下文了,该干什么干什么去吧!~~~如果显示的是 2.4.x,那恭喜你,闯关通过,赶快进行下一步。 2、下载2.6内核源码 下载地址:https://www.wendangku.net/doc/622939677.html,/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2 3、下载内核升级工具 (1)下载module-init-tools-3.2.tar.bz2 https://www.wendangku.net/doc/622939677.html,/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2 (2)下载mkinitrd-4.1.18-2.i386.rpm https://www.wendangku.net/doc/622939677.html,/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm (3)下载lvm2-2.00.25-1.01.i386.rpm https://www.wendangku.net/doc/622939677.html,/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm (4)下载device-mapper-1.00.19-2.i386.rpm https://www.wendangku.net/doc/622939677.html,/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm (2.6.18内核和这4个升级工具我都有备份,如果以上下载地址失效,请到https://www.wendangku.net/doc/622939677.html,/guestbook留下你的邮箱,我给你发过去)

测宽仪调试笔记

测宽仪调试调试时间:2014/01/08至2014/01/09调试内容:测宽仪标定、软件的操作使用及简单的故障维护。一、大连亚泰华WG2000测宽仪大连亚泰华光电技术有限公司成立于2004年,依托于大连理工大学光电检测技术工业中心与大连理工大学国家一级学科博士点—光电工程专业,具有一流的技术开发实力及十余年的测宽仪研究与开发经验。1.1 主要技术指标测量精度:±0.4mm(动态);±0.2mm(静态)测量范围:100~3500mm(可分档)输出频率:100~200次/秒(5~10ms)带钢温度:650~1300℃ 利用红外热辐射<650℃ 利用上打光源照明允许最大跳起: 在摄像机的视场范围内允许跑偏范围: 在整个辊道范围内1.2系统的工作原理与组成1.2.1 系统的工作原理 如右图所示,系统采用双摄像机利用立体视觉原理和红外光电检测技术对辊道上的钢板进行在线测量,并结合高速数字信号处理技术与编程软件相结合对信号进行相应处理,并显示相关数据与测量曲线。 、管路敷设技术通过管线敷设技术不仅可以解决吊顶层配置不规范高中资料试卷问题,而且可保障各类管路习题到位。在管路敷设过程中,要加强看护关于管路高中资料试卷连接管口处理高中资料试卷弯扁度固定盒位置保护层防腐跨接地线弯曲半径标高等,要求技术交底。管线敷设技术中包含线槽、管架等多项方式,为解决高中语文电气课件中管壁薄、接口不严等问题,合理利用管线敷设技术。线缆敷设原则:在分线盒处,当不同电压回路交叉时,应采用金属隔板进行隔开处理;同一线槽内,强电回路须同时切断习题电源,线缆敷设完毕,要进行检查和检测处理。、电气课件中调试对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料试卷相互作用与相互关系,根据生产工艺高中资料试卷要求,对电气设备进行空载与带负荷下高中资料试卷调控试验;对设备进行调整使其在正常工况下与过度工作下都可以正常工作;对于继电保护进行整核对定值,审核与校对图纸,编写复杂设备与装置高中资料试卷调试方案,编写重要设备高中资料试卷试验方案以及系统启动方案;对整套启动过程中高中资料试卷电气设备进行调试工作并且进行过关运行高中资料试卷技术指导。对于调试过程中高中资料试卷技术问题,作为调试人员,需要在事前掌握图纸资料、设备制造厂家出具高中资料试卷试验报告与相关技术资料,并且了解现场设备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。、电气设备调试高中资料试卷技术电力保护装置调试技术,电力保护高中资料试卷配置技术是指机组在进行继电保护高中资料试卷总体配置时,需要在最大限度内来确保机组高中资料试卷安全,并且尽可能地缩小故障高中资料试卷破坏范围,或者对某些异常高中资料试卷工况进行自动处理,尤其要避免错误高中资料试卷保护装置动作,并且拒绝动作,来避免不必要高中资料试卷突然停机。因此,电力高中资料试卷保护装置调试技术,要求电力保护装置做到准确灵活。对于差动保护装置高中资料试卷调试技术是指发电机一变压器组在发生内部故障时,需要进行外部电源高中资料试卷切除从而采用高中资料试卷主要保护装置。

linux实验报告(编译内核)

湖北大学 学生实验报告 实验课程网络实用技术 开课学院计算机与信息工程学院 任课教师徐婕 学生姓名骆婧 学生学号20112211042100 70 专业班级计科一班 学生年级2011级 2013-2014 学年第二学期

一.实验目的 通过实验,熟悉Linux操作系统的使用,掌握构建与启动Linux内核的方法;掌握用户程序如何利用系统调用与操作系统内核实现通信的方法,加深对系统调用机制的理解;进一步掌握如何向操作系统内核增加新的系统调用的方法,以扩展操作系统的功能。 二.实验内容 1.Linux环境下的C或者C++编译和调试工具的使用 2.向Linux内核增加新的系统调用,系统调用的功能为打印出自己的学号和 姓名信息。 3.Linux新内核的编译、安装和配置。 4.编写应用程序以测试新的系统调用并输出测试结果。 三、实验步骤 第一步:解压文件 1.下载linux-3.13.3.tar.xz压缩包。 2.在Ubantu系统下,解压该文件,解压之后得到linux- 3.13.3文件包 # tar –xf linux-3.13.3.tar.xz 3.将解压后的文件包复制到/usr/src # cp linux3.13.3 /usr/src 第二步:修改源程序,增加系统调用 1.gedit /usr/src/linux-3-13.3/kernel/sys.c (增加系统调用,使用面向内核的 打印函数printk打印姓名学号) 使用gedit命令,可以直接在文档编辑器中直接修改。修改好后按保存关闭文档编辑器。 在开头加入头文件: #include 在末尾加入函数 asmlinkage int sys_mycall(void) { printk(KERN_ALERT "My name is XXXX!My studentid is XXXXXXX\n"); return 1; } 2.gedit /usr/src/linux-3-1 3.3/arch/x86/include/asm/syscalls.h 在倒数第二行后插入 asmlinkage int sys_mycall(void);

相关文档