资源简介
1.完整的F28335引导程序(boot)CAN通信解决方案。
2.使用CAN通信配合另外的EEPROM升级程序,完全自定义协议。
3.程序功能包括 擦除内部FLASH,读写FLASH。
4.工程使用CCS5.5。
5.http://blog.sina.com.cn/s/blog_762cf5f80101ad7i.html这个是相关资料给大家 参考这个人对F28335研究的比较其博客内容相关比较多,可供大家学习。
代码片段和文件信息
/*
* Boot_Can.c
*
* Created on: 2016-9-7
* Author: gx-
*/
#include “DSP2833x_Device.h“
#include “Flash2833x_API_Library.h“
#include “Boot_Can.h“
#ifndef true
#define true 1
#endif
#ifndef false
#define false 0
#endif
extern struct ECAN_REGS ECanaShadow;
unsigned char ucTXMsgData[8]ucRXMsgData[8];
//unsigned char Flash_WR_Data_TX[8];//程序写入时请求数据,返回
long CAN_RX_MsgID;
CAN_frame_type CanR_frame;
unsigned char SHAKE_HAND_OKShake_Hand_OK_Back;
unsigned char Messege_Err_EN;
unsigned int Prog_Data[Prog_Data_len];
unsigned int Erase_Status;
unsigned char CAN_Data_all_rev;
unsigned char Prog_Address[4];//程序下载地址
unsigned char CAN_Packet[MaxPacket_Num] ; // FLASH 数据,384个
unsigned long Prog_Address_Long;
unsigned long Address_frame;
unsigned char Back_Erase_Status_EN;
unsigned char Erase_Status_Data;
int Can_Rev_Cnt;
unsigned char Send_UPLoad_EN;
unsigned char Send_DNLoad_RQ_EN;
unsigned long Prog_Start_Addr;
unsigned int UPLoad_Packet_Ptr;
unsigned long UPLoad_Dat_Paket_CNT;
unsigned char Shake_Hand_WR_OK_BackSend_UPLoad_Finish;
unsigned char ProgRXData_Dealwith(unsigned char * Source unsigned int *Dest)//数据校验和操作
{
int i;
unsigned char temp_sumchksum;
unsigned int Lenth;
chksum = 0x00;
Address_frame = Source[4] | ((unsigned long)Source[3]<<8) | ((unsigned long)Source[2]<<16) | ((unsigned long)Source[1]<<24);
Lenth = Source[5];
if(Lenth != 0xff)
{
return false;
}
for(i = 1; i < Flash_WR_Lenth + 6;i++)//1-261为数据字节
{
chksum += Source[i];
}
temp_sum = Source[262];
if(temp_sum == ((~chksum)&0xff))
{
for(i = 0; i < 128; i++) //基本参数数据 9
{
Dest[i] = Source[i*2+6]|(unsigned int)(Source[i*2+7])<<8;
}
return true;
}
else
{
return false;
}
}
unsigned char CAN_Packet_InputAvailable_Prog(int Max_Lenth)
{
if((CAN_Packet[0] == ‘*‘)&& (CAN_Packet[5] == 0XFF) &&(CAN_Packet[263] == ‘!‘))
{
return true;
}
return false;
}
unsigned long Prog_Once_Data_Len;
unsigned char Packet_Flash_RX(void)//将收到的操作器发送的不同段的数据包接收下来
{
int i;
unsigned char REC_END;
//unsigned long CAN_LENTH_ADDR = 5;
//long TEMP_LEN;
REC_END = 0;
//unsigned long Prog_Addr_Data[4];
//unsigned long Prog_Once_Data_Len;//这个变量放在这个地方作为局部变量就不可以,后面研究下
Seg_Whole = ucRXMsgData[1];
if(Seg_Flag == 0x01) //开始帧
{
if(Seg_Num == 0x00) //段开始号必须为0
{
for(i = 0;i < 6; i++)
{
CAN_Packet[i] = ucRXMsgData[i+2];
}
Prog_Once_Data_Len= CAN_Packet[5];
ucTXMsgData[1] = 0x02; //发送下一帧
}
else //非零的任何数,均错误
{
ucTXMsgData[1] = 0x01; //重新发送本包开始帧
}
ucTXMsgData[0] = Prog_DownLoadD_ID;//请求下一帧
Flash_TX_EN = 1;
}
else if(Seg_Flag == 0x02) //中间帧//不管如何接收完成数据包,这个地方还可改进,加强校验机制,
{
for(i = 0;i < 6; i++)
{
CAN_Packet[6 * Seg_Num + i] = ucRXMsgData[i+2];
}
ucTXMsgData[0] = Prog_DownLoadD_ID;
ucTXMsgData[1] = 0x02;
Flash_TX_EN = 1;
}
e
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 552 2016-09-30 21:09 28335SCI_Update_Flash\.ccsproject
文件 22557 2016-09-25 19:22 28335SCI_Update_Flash\.cproject
文件 12263 2016-10-08 00:16 28335SCI_Update_Flash\.launches\28335SCI_Update_Flash.launch
文件 2586 2016-09-04 20:38 28335SCI_Update_Flash\.project
文件 62 2016-09-30 21:09 28335SCI_Update_Flash\.settings\org.eclipse.cdt.codan.core.prefs
文件 218 2016-09-17 23:17 28335SCI_Update_Flash\.settings\org.eclipse.cdt.core.prefs
文件 123 2013-07-05 16:25 28335SCI_Update_Flash\.settings\org.eclipse.cdt.debug.core.prefs
文件 684 2016-01-05 17:49 28335SCI_Update_Flash\.settings\org.eclipse.core.resources.prefs
文件 6393 2013-06-28 17:19 28335SCI_Update_Flash\28027_RAM_lnk.cmd
文件 6915 2016-10-07 20:53 28335SCI_Update_Flash\Boot_Can.c
文件 4350 2016-10-08 22:43 28335SCI_Update_Flash\Boot_Can.h
文件 25234 2016-10-08 22:43 28335SCI_Update_Flash\Debug\28335SCI_Update_Flash.hex
文件 42164 2016-10-08 22:43 28335SCI_Update_Flash\Debug\28335SCI_Update_Flash.map
文件 174929 2016-10-08 22:43 28335SCI_Update_Flash\Debug\28335SCI_Update_Flash.out
文件 189200 2016-10-08 22:43 28335SCI_Update_Flash\Debug\28335SCI_Update_Flash_li
文件 16305 2016-10-08 22:43 28335SCI_Update_Flash\Debug\Boot_Can.obj
文件 3945 2016-10-08 22:43 28335SCI_Update_Flash\Debug\Boot_Can.pp
文件 671 2016-10-08 22:43 28335SCI_Update_Flash\Debug\ccsObjs.opt
文件 5760 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_CpuTimers.obj
文件 4929 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_CpuTimers.pp
文件 28473 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_DefaultIsr.obj
文件 4957 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_DefaultIsr.pp
文件 289 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_headers\cmd\subdir_rules.mk
文件 363 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_headers\cmd\subdir_vars.mk
文件 122038 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.obj
文件 4463 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_headers\source\DSP2833x_GlobalVariableDefs.pp
文件 1210 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_headers\source\subdir_rules.mk
文件 754 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_headers\source\subdir_vars.mk
文件 2655 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_MemCopy.obj
文件 3693 2016-10-08 22:43 28335SCI_Update_Flash\Debug\DSP2833x_MemCopy.pp
............此处省略97个文件信息
- 上一篇:仿微信支付页面html
- 下一篇:html弹窗页面19种
相关资源
- PbootCMS开源企业网站管理系统
- 精美网站模板div+css模板html模板,管理
- 分享计算机毕业设计源码-双鱼林基于
- springboot整合ueditor源码自己写,测试可
- html5bootstrap实现博客系统前端页面
- bootstrap交易平台响应网站模板_html5交
- 简洁扁平化风格bootstrap响应式社交音
- js-八数码A星算法,及有关网页制作的
- HTML5健身房网站前端模板461.zip
- SpringBoot+html实现h5录音上传到后台
- Bootstrap中文版
- bootstrap响应式cms国外后台管理系统界
- bootstrap完整Demo
- 简单的小说阅读网站html模板.zip
- nba资讯网站 web静态网页小项目 html+
- springboot化妆品网上商城含后台管理源
- 分享一个HTML5的网站模板
- H+ 后台主题UI框架 V4.1带文档、未压缩
- 互联网公司bootstrap模板 源码
- bootstrap-4.0.0-beta.2.zip
- 扁平化bootstrap学习课程教育网页模板
- 后台主题UI框架H+ v4.1.0(最新) 基于
- springBoot单点登录
- 网站前端页面
- aceadmin模版
- H+后台主题后台bootstrap框架会员中心主
- bootstrap中文手册.chm
- 全新bootstrap框架写的后台管理模板5套
- 非常帅气的后台管理前台框架bootstr
- springboot整合项目layui
评论
共有 条评论