自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 S32K116新建工程Debug可以运行,冷启动无法运行问题分析

大家可以开一下Startup的汇编文件,相关代码片段如下,如果没有定义START_FROM_FLASH这个宏定义,则没有初始化SRAM,所以软件是无法运行的。在IAR环境下,C语言和汇编语言,头文件和宏定义是独立的,添加时需要注意,在下面界面中添加汇编宏定义,则可以解决这个问题。这种现象基本上都是RAM未初始化导致,由于Debug时,调试器会自动初始化芯片,很多问题都不会暴露处理。S32K116使用IAR建立工程后,软件debug可以运行,断电冷启动无法运行。

2023-12-04 17:57:06 186

转载 ARM中的紧耦合内存(TCM)

紧致内存是指片上快速存储区,与片上缓存具有同等的性能,但因为程序可完全控制紧致内存,因而比统计复用的缓存有更好的可预测性。这是ARM5TE引入的特性,目的是通过这一快速的存储区,一方面提高某些关键代码(如中断处理函数)的性能,另方面使存储访问延迟保持一致,这是实时性应用所要求的。TCM是一个固定大小的RAM,紧密地耦合至处理器内核,提供与cache相当的性能,相比于cache的优点是,程序代码可以精确地控制什么函数或代码放在哪儿(RAM里)。的使能状态,所以1号寄存器的这两个位就过时了,应该置1。

2023-01-10 11:03:31 2139

原创 AStyle使用小结

批量格式化Keil工程或指定目录代码格式,如缩进,大括号单独一行等。

2022-08-17 15:03:33 1023

原创 AWR6843芯片使用JFlash下载外部NorFlash

AWR6843芯片内部不具有flash,评估板使用的是一个美信的NorFlash.TI AWR6843片内有BootROM,集成了有厂商内部的PBL(primary boot loader),具有通过UART下载的功能和软件启动功能。具体介绍,参考其他文章。在量产阶段,使用TI 串口上位机(uniFlash )下载不是很方便,下面介绍一种直接烧录软件到外部Flash的方法。下面以MX25V1635FM1R为例,介绍如何使用Jflash软件直接烧录BIN文件到外部NorFlash.使用Jlin

2022-01-10 13:08:11 1033

原创 使用Hex view编写脚本生成特定格式刷写文件

1.知识背景汽车行业ECU基本都具有FBL(flash boot loader)功能。FBL可以基于UDS协议实现刷写功能。很多OEM厂商都有OTA的需求,但是对于整车内部ECU来说,仍然是基于UDS协议实现刷写。但是往往会要求刷写文件具有特定格式。如吉利/沃尔沃采用VBF(volov binary format)格式,吉利提供了VBF生成工具。长城要求具有特殊hearer area等特殊格式的BIN文件。 这时候往往需要对IDE编译产生的S19、HEX、BIN等格式进...

2021-12-23 20:35:30 14406 16

原创 OSEK NM 功能测试

1.背景知识某项目网络管理报文CANID0x500~0x57F CANID CANData 0x05 SA DA CF Data Data Data Data Data Data 表1.网络管理报文帧格式2.测试结构...

2021-06-24 10:02:45 4903 16

原创 理解OSEK NM原理,看完这个就够了

向liu zhihong先生致敬,一个小故事让我搞懂了Nm的机制和作用。仅以一个故事谈谈我对OSEK DNM的粗浅理解。希望能帮助大家有个直观的影响。管中窥豹,兹当抛砖引玉,如有错误,敬请指正。 -- Liu Zhihong从前有一个地主(OEM),养了一群瞎子(Node)。瞎子们被安排在一个房间(CAN)里干活。每个瞎子都有自己的工作,但瞎子不能一直工作,需要睡觉(Sleep)。瞎子只有在自己的工作结束并且其他所有清醒的瞎子工作也结束后才能睡觉,否则多吵啊?!问题在于瞎子们并不..

2021-05-21 17:05:17 5962 7

原创 使用Jlink给华大HC32单片机下载Hex文件

最近项目为降低成本,使用华大的HC32单片机,由于之前都是使用Jlink作为调试器,所以联系厂商看是否提供补丁,能够在J-Flash软件中添加HC32单片机的型号。方法如下:1.使用厂商提供的工具包,连接如下:https://download.csdn.net/download/suck_more/119774402.使用最新版Jlink软件,老板本Jlink软件,目录结构不一致。...

2019-11-14 23:02:00 14788 9

原创 windows查看HEIC文件,HEIC转换JPG

iPhone手机更新IOS11系统后,相机拍摄的文件格式为HEIC格式,很多软件都无法打开。下面介绍一款免费的工具,可以查看HEIC文件,转换HEIC文件为JGP文件。1.安装copytran软件csdn下载地址:https://download.csdn.net/download/suck_more/104334042.安装过后,HEIC文件即可通过windows自带的看图软件查看。3.如果需要...

2018-05-23 20:58:59 9143 3

原创 基于单片机的多按键多状态检测方法

在常见的电子产品中,经常会用到按键来实现一些功能,如切换界面,长按按键操作一些特殊功能。本文讲述基于MDK RTX系统的一种独立按键键值检测,能够实现按键检测,同时多个按键按下检测,长按按键检测功能,并具有软件防抖功能。#define KEY_START_HOLD_TIME 200 //长按时间,2秒//键值enum{ K_IDLE, K_PRESSDOWN_KE

2016-04-20 10:07:39 4210 5

原创 RTX系统内核事件重复触发

1.硬件平台STM32F1032.软件平台MDK4.2.3   RL-ARM - RTX4.23.背景:最近Debug时,发现can通信任务被不停地触发。can通信任务触发条件为if(os_evt_wait_or(0x0001,OS_10MS) == OS_R_EVT)4.问题解决RTX系统每个任务最多拥有16个事件,事件编号不是1-16,而是用位表示即1,2,4,8,16等等

2016-01-28 15:43:02 589

原创 Java学习笔记1 HelloWorld

1.名词解释JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)JRE为Java Runtime Environment的简称,即Java运行时环境安装完成后,需要配置环境变量。2.   增加环境变量系统变量→新建 JAVA_HOME 变量 。变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0)

2015-04-07 22:35:00 736

原创 stm32基于Can和uart的IAP实现

1.公司的某个产品的结构是工业主板(uart)->控制板(can)->节点(大于1个)2.实现目的要实现不拆壳定点升级某一个节点或控制板的应用程序3.单片机硬件平台stm32F103C8T64.IAP协议Ymode协议5.移植过程1>进入IAP的过程上位机向节点发送升级命令,往flash写升级标志,软件重启后,节点进入IAP,一直在发送'C',等待有效数据。

2015-02-09 20:47:32 5859 3

转载 stm32 can的屏蔽位模式

stm32 can的屏蔽位模式:一个是标识符寄存器,一个是屏蔽位寄存器。凡是屏蔽位寄存器里为1的位所对应的标识符寄存器的位,这些位是必须匹配的,也就是说,你接受到的Message里面的标识符(ID)里面对应的位必须跟标识符寄存器里对应的位相同,才能被接受。例如:标识符寄存器的bit15=0,屏蔽位寄存器的bit15=1,那么接受的Message里面的标识符的bit15必须为

2014-07-13 00:38:16 5618

原创 Altium Designer(DXP)使用记录,持续更新

1.dxp拼版的方法画好pcb板后,可能由于比较小的板子不好上机器,所以会进行拼版(个人理解,不知道是否)。就是把一个小板子在一个大板子上复制多份,而不让其有电气连接。步骤为,s/a全选pcb,crtl+c复制,在pcb原理图某处单击左键(一般为左上角,粘贴时会以点击的位置作为原点)。新建一个pcb文件,e/a进行特殊粘贴,出现的对话框,勾选保持网络标号(否则,拼版后字符层的表示会自动累加

2014-03-19 16:55:36 2258

原创 光耦隔离在单片机通信电路中的应用

在实验板上做的uart,485通信等,基本上都是没有做隔离,即通信电路和系统电路共地,如果通信距离加大,会造成系统不稳定。在公司中的原理图看到了这个光电隔离电路,觉得不错,分析一下,记录下来。先上原理图,自己重绘了一下。TX,RX是单片机发出的通信信号,TX-out,RX-out是连接远程的的通信接口。当TX为高电平时,光耦导通,即TX+和TX-导通,TX-out为高电平。

2014-03-05 17:07:10 16096 2

原创 配电监测仪表行业相关知识

配电监测仪表行业相关知识1.      行业背景公司的监控仪表主要是电气自动化中配电的的检测。 2.      主要测量参数频率,三相电流,三相电压。其余数据都是通过计算得到。有有功功率,无功功率,视在功率以及有功电度,无功电度。测量方法使用的是真有效值法。积分检测频率的原因是,实际电路中,频率会在标准频率周围缓慢变化,通过检测过零点,来判断周期的时期时间来作为下一

2014-03-05 15:06:33 962

原创 交流电的一些概念

线电压和相电压对于三相四线制的电网,三根相线中任意两根间的电压称线电压,任意一根的相线与零线间的电压称相电压,三相电压的相位相差120度,线电压是两个相的相电压的矢量和,线电压与相电压的大小关系是:线电压=根号3倍的相电压。对于市电,相电压220伏,线电压是220伏的根号3倍,即380伏。线电流和相电流线电流是A,B,C 中的某一相与N(或地)之间的电流,电压是220V的。相电流...

2014-03-03 10:04:11 1557

转载 一种C函数预处理用法

本文来自: 高校自动化网(Www.zdh1909.com) 详细出处参考(转载请保留本链接):http://www.zdh1909.com/html/MCS51/9288.html 嵌入式开发中,文件比较多,有很多全局变量需要在不同文件中引用。一般在头文件和C文件中采用预处理命令来避免变量的重复定义。   先看一例:   在Main.c文件的开始 #define   MAIN_GL

2014-02-17 11:32:08 1184

原创 飞凌ok6410开发板Linux使用RTC时钟

最近做毕业设计时,项目中用qt写了一个时钟,每次用date命令调好时间,重启后,时间又复位了。只需要使用一个命令,让系统时间写入rtc时钟模块即可。飞凌系统中,已经有了rtc驱动。data 11061600002013  格式为日期,时间,年。2013年11月6日16点0分0秒使用hwclock -w将当前的系统时间写入rtc硬件时钟里面复位测试,时间掉电不丢失。

2013-11-06 16:14:02 1224

原创 飞凌ok6410快速搭建QT开发环境

解决触摸无效果和环境导致运行失败的问题目的  自己的毕业设计准备基于6410开发板做一个物联网网关。网关系统使用Linux,移植qt环境。基于飞凌编译的uboot,内核,以及文件系统。由于是为了实现,网关应用,自己对QT开发又要从0开始,所以环境搭建,则尽可能方便,都是基于飞凌的自动编译包来实现的。步骤2.1基于飞凌的一件编译工具,编译Qtopia4.4.3。编译完成后,将image文

2013-10-13 21:55:53 1360

转载 IAR编译ZStack-CC2530,生成HEX文件完全配置

原文http://blog.csdn.net/liyvhg/article/details/6455403IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置:1.正确配置输出文件格式:菜单选择Project-Options-Linker-Output-Format,选择Other。右边的Output下拉框选intel-extended,Format variant下拉框

2013-09-28 15:02:52 905

转载 linux关于bashrc与profile的区别(转)

bashrc与profile的区别要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,sh

2013-09-25 21:36:56 740

转载 IAR Error[Pa045]: function "" has no prototype 解决方法

当在z-stack协议栈中,添加自己的c文件。编译时出现错误,而全部错误都是一个性质。Error[Pa045]: function "" has no prototype去掉 Require prototype选项,重新编译即可。应该是一个编译顺序问题。

2013-09-02 15:42:39 15484 1

转载 常用的电平转换方案

原文地址:http://blogold.chinaunix.net/u/27817/showart_304150.html (1) 晶体管+上拉电阻法     就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。 (2) OC/OD 器件+上拉电阻法     跟 1) 类似。适用于器件输出刚好为 OC/OD 的场

2013-09-02 11:00:20 3164

原创 CC2530芯片在TI协议栈中自定义外部中断

CC2530芯片在TI协议栈中自定义外部中断学过单片机或写过CC2530裸板程序的同学都知道,外部中断的处理是通过中断服务程序实现的。在CC2530裸板程序中,我们可以这样实现。#pragma vector = P0INT_VECTOR__interrupt void P0_ISR(void) //假设P0口全部定义为中断模式{ if(P0IFG >>4

2013-07-11 16:22:32 3685 4

原创 大小端判断及转换

大端:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。小端:就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。如:int a = 0x12345678 变量在内存中的分布为:大端模式:78 56 34 12 小端模式:12 34 56 78大小端判断代码:void IsBigEndian(){ short int a = 0x1234;

2013-07-09 20:24:49 1142

原创 fedora10 与 ok6410 nfs服务配置与第一个例程

1.测试开发板和主机是否连通我是在虚拟机里安装的linux,网络采用的是桥接。虚拟机有三种网络连接方式,分别是nat,host,bridge这里不再赘述网络的配置情况,可以参考另外一篇博文 点击打开链接开发板的网络配置使用ifconfig命令,配置在和主机同一网段,我用的是路由器,直接使用dhcp获取就可以了(udhcpc –i eth0),使用ping命令测试开发板和主机网络是否

2013-05-25 22:26:31 864

转载 ok6410平台移植uboot时发生Signal # 8 caught的问题

Signal # 8 caught的问题:网上可以找到资料说是arch/arm/cpu/arm1176/s3c64xx/timer.c里面的变量因为版本差异而不同的问题可找到有DECLARE_GLOBAL_DATA_PTR的正确的timer.c替换掉或者自己动手打补丁。打补丁的方法:  正确的为timer1.c,需要修改的为timer.cdiff timer.c timer

2013-05-24 14:00:19 866

原创 c语言共用体的内存分布

#includeusing namespace std;union{ unsigned char a; unsigned int i;}u;int main(){ u.i = 0xf0f1f2f3; cout<<hex<<u.i<<endl; cout<<hex<<int(u.a)<<endl; return 0;} 程序的输

2013-05-18 23:45:19 1459

原创 zigbee无线串口应用记录

由于从未接触过操作系统的源码,所以对zigbee的协议栈看起来很头疼,现在还不知道实现原理是什么,通过这段时间的学习,只是对程序的大致框架有了一些认识。现在记录一实现无线串口通信的过程。首先是MT_UART.c这个文件,TI默认的串口传输协议帧结构比较复杂,以0xfe开头,又包括数据长度,数据,校验神马的,所以按照webee的教材就比着写了一个简单的函数。void MT_UartPro

2013-04-06 19:58:20 1462

原创 linux环境下,输出文件大小

/*writer: gsfunction:count the size of filedate: 2013.3.29*/#include #include #include #include #include int file_size(char *filename){int size;int fd = open(file

2013-03-29 16:29:15 1201

原创 zigbee外部中断

今天开始学习买了好久的zigbee开发板。跟着送的教材学习,发现教材有些许错误,就是那本《zigbee实战演练》。外部中断那个实验,教材只是简单介绍了一下寄存器设置。我看了一下cc2530的手册,写下了这个程序。首先外部中断的设置分为这几步骤(直接上代码了):①  P0IEN |= 0x30; //P0_4设为中断 ②PICTL |= 0x01; //P0口下降沿触发 ③IEN

2013-03-17 14:24:05 2976

原创 openwrt 无线配置重置

root@OpenWrt:~# rm /etc/config/wireless #重建无线配置文件root@OpenWrt:~# wifi detect > /etc/config/wirelessroot@OpenWrt:~# vi /etc/config/wireless #删除或注释掉option disabled 1这句root@OpenWrt:~# wifi up

2013-01-11 22:51:09 6411

原创 vmware下linux网络配置与ftp配置小结

vmware提供了三种网络连接方式,桥接,nat,host-only 桥接相当于和主机连接在同一个交换机上,需要设置桥接在主机的某一网卡,如果使用自动桥接,很容易失败。 桥接模式需要让虚拟机系统的ip地址和主机在同一个子网。网上很多设置方法,都是说设置成静态ip,通过实验得出,这一说法不完全适用,如果主机是通过路由器上网,一般都是适用dhcp动态路由,那么虚拟机就不能设置成静态ip,虽然在同一

2012-12-31 14:39:56 961

转载 转载自ce123的技术博客--详解大端模式和小端模式

一、大端模式和小端模式的起源        关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必

2012-12-27 14:51:47 762

原创 AD9850使用小结--dds信号发生器的简易制作

图片外链失败。。这是新浪博客中本文地址:http://blog.sina.com.cn/s/blog_7e98b27d01015px2.html这一个月的电子设计培训,我们组做的事信号发生器。用的是dds模块,芯片是ad9850。从刚开始不知道从哪儿下手,到调试出正弦波。比较器的正负端(V0_p, VO_N)接示波器输出方波,可以达到10v。ad98

2012-12-19 22:11:03 7174

原创 c++虚函数,拳击游戏实例

#includeusing namespace std;class Boxer{public: Boxer(){} Boxer(int a){ age = a;} virtual void beat(){coutprotected: int age;};class Jim : public Boxer{public: Jim(){ age =

2012-11-01 21:00:22 853

原创 c/c++按值传递函数的初始化

#include int add(int a, int b=100)  //若果只有一个参数传递进来,把b赋值为100,如果有两个参数传递进来,则按照传递进来的值进行计算{ return a+b;}void main(){ int c; c = add(3); printf("%d",c);}

2012-10-30 20:32:23 904

原创 c++学习笔记--继承的赋值

Father a;Son b;a = b;b = a; //报错Father *p = &b;son *p1 = &a;//报错Father &s = b;son & x = a;    //报错派生类不能赋值给基类,派生类的成员比基类多。采取b=a赋值操作时,b对象会调用operator=(),存在找不到成员的风险。如果派生类指针指向基类对象,那么会把一部分不

2012-10-29 21:03:45 720

HC32xxx J-Flash.zip

华大HC32单片机Jlink补丁包,安装后可以使用J-Flash软件下载Hex文件 华大HC32单片机Jlink补丁包,安装后可以使用J-Flash软件下载Hex文件 华大HC32单片机Jlink补丁包,安装后可以使用J-Flash软件下载Hex文件

2019-11-14

copytran软件

免费工具,可以查看HEIC文件,转换HEIC文件为JGP文件。

2018-05-23

嵌入式Linux应用程序开发详解(完整版)

一本学习前入手linux的学习手册,包含linux的基本用法,环境配置,系统移植,驱动开发等技术

2013-05-24

uboot移植6410头文件和timer.c

ok6410平台移植uboot时发生Signal # 8 caught的问题

2013-05-24

基于51单片机dds信号发生器程序

电子设计培训时的作品。

2012-12-19

51单片机ds1302驱动,液晶显示

网上ds1302驱动程序很多。。这是本人在学习单片机是结合众多程序编写,备注详细

2012-12-19

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除