当前位置:首页 » 操作系统 » 飞思卡尔源码

飞思卡尔源码

发布时间: 2023-01-09 21:25:31

‘壹’ 飞思卡尔 EEPROM初始化,写擦 源码最好是MC9S12XE EEPROM 的!

已经上传了,你看看

‘贰’ 为什么移植snmp生成的snmpd文件不能运行

准备工作
1、net-snmp5.7.1源码

2、linux编译环境,IP地址192.168.2.115

3、Powerpc平台,本次移植到飞思卡尔,IP地址192.168.2.20

环境搭建步骤
1、主机-Powerpc:
主机和Powerpc互相ping,检测网口连通性;

如果网口无法工作,使用串口的zmodem进行文件下载,但是此方法较慢;

2、下载文件方法:
windows平台

开启tftpd.exe,配置服务器工作路径为文件所在目录;

通过串口或者网口与Powerpc通信,在Powerpcshell下运行:

tftp -r [download_file] 192.168.2.115 –g

SecureCRT使用zmodem传送文件,此方法比tftp方法速度慢。

Linux系统需要tftp服务器或者nfs服务器支持

移植net-snmp
1、配置
CC=/usr/freescale-2010.09/bin/powerpc-linux-gnu-gcc./configure--build=i386-linux --host=ppc-linux --disable-ipv6--with-endianness=big--disable-manuals--disable-ucd-snmp-compatibility--enable-as-needed--disable-embedded-perl --without-perl-moles--disable-snmptrap-subagent--disable-scripts--with-mib-moles="ucd_snmp" --enable-shared
修改项包括:平台相关交叉编译链,host取值,字节序(Powerpc属大端字节序),其他配置不变

2、编译
本工程因为需要加载动态库,因此须使用动态编译

动态编译:

#make
编译时不需要重新指定安装目录,一律选择默认

//若有动态库,会提示错误:缺少库,拷贝过去即可。编译完成后大小41K左右

静态编译:

#makeLDFLAGS=”-static”
//使用-static选项指明是静态编译,安装完成后大小1.6M左右

3、安装
#make install
编译完snmp后,在安装阶段会链接目标文件生成库文件,并将库文件默认安装在本地/usr/local/lib和 /usr/lib下

4、压缩文件
安装完成后snmpd路径:/usr/local/sbin/snmpd

@Powerpc-linux-stripsnmpd
静态:会将1.6M的文件压缩为649K

动态:只有46K

拷贝文件
1、SNMPD的拷贝
将压缩后的snmpd拷贝至/usr/sbin目录下,修改权限为755;

2、配置文件的拷贝
将编译环境的/etc/snmp目录下snmpd.conf snmp.conf 这两个文件拷贝至:Powerpc板的/usr/local/share/snmp目录下;

3、MIB库文件的拷贝
将MIB库文件拷贝至Powerpc板/usr/local/share/snmp/mibs中:

拷贝SNMP系统MIB库和我们自己开发的MIB库到目标板 的/usr/local/share/snmp/mibs;

cp ./mib <目标板>/usr/local/share/snmp/mibs;

cp SGCC-MIB.my <目标板>/usr/local/share/snmp/mibs;
这样,我们自己开发的MIB库SGCC-MIB和snmp自带的MIB库就整合在一起了。

4、命令的拷贝
通过tftp或者nfs挂载方式,拷贝本地snmp相关命令到Powerpc板:

#这里是snmp相关操作方法

cd/usr/local/bin/

cp agentxtrapnet-snmp-c* snmp* encode_keychange /usr/bin/

# snmp的守护线程和trap监听命令权限更改为755。

cp/usr/local/sbin/snmp*/usr/sbin/

[注]路径不定,只要在需要时将命令所在路径导入PATH即可

使用命令测试:

@snmpget–v2c –cprivate 127.0.0.1 sysUpTime.0 #返回正确

5、运行库的拷贝
通过tftp或者nfs挂载方式,拷贝本地snmp相关库文件到目标板,用以支持项目运行:

Cp usr/lib/libnetsnmp* /usr/lib

Cp usr/local/lib/libnetsnmp* /usr/lib

将需要snmp支持的第三方库——我们的arm网管程序编译而成的库文件,拷贝/usr/local/lib;

这样,我们的网管程序就可得到SNMP的支持

[注]路径不定,只要在需要时将库文件所在路径导入LD_LIBRARY_PATH即可

‘叁’ Android 开发板有哪些如何选择

这里我只是给出我选购Android开发板的思路,供大家参考:

(1) 一定要支持比较新的Android版本

这里我把Android手机也算在Android开发板里面吧。目前,支持Android源码版本最好的手机/开发板应该就是Google的干儿子了(Nexus系列),官方最新源码编译好了就可以直接在上面跑了,唯一我觉得不太方便的就是手机的接口太有限,比如没有串口、有线网口、丰富的GPIO等等,调试和扩展起来比较受限。

如果不是购买官方源码支持的Android设备/开发板,那么你就需要开发板生产商提供对应的Android源码(其实主要是patch包),因此,我举得如果一个Android开发板只能提供Android 2.3版的源码,建议你就不用考虑了。

(2)最好选购比较热门的开发板

孤军奋战,遇到问题没人交流是最痛苦的事儿了,因此,我会比较看重那些社区比较完善和活跃、关注度和开发者比较多的开发板,这里比较推荐一些开源硬件,如树莓派,Beaglebone等等,国内国外都很火,不仅有很多大牛分享开发经验,而且遇到问题也很容易在社区搜到解决方案。

(3) 其他的综合考虑

对于我来说,上面两个因素是我最看重的,当然,也还有其他的可以参考的因素,比如:价格,文档资料,开发板的接口(串口、网络、USB OTG、HDMI等等),开发板的处理器厂商(TI?高通?Marvell?)开发板的性能(CPU、内存大小等)。

3. Android开发板推荐

根据上面我介绍的原则,我相信大家也很快能选中自己心仪的开发板,不过我相信肯定还是会有童鞋希望我能推荐一款,那么这里就给大家推荐我自己购买的开发板吧。

‘肆’ "交大汉芯丑闻"是什么事件

作者:corsairbaby 提交日期:2006-2-3 14:20:00

夜会“神秘人”

21世纪经济报道 2006-01-27 08:43:07

2003年2月26日,上海锦江小礼堂举行“汉芯一号”高端DSP数字信号微处理芯片发布会
“汉芯一号”造假传闻调查之二
本报记者 杨琳桦 姚峰 李晓艳
上海、北京报道
“通过两个公司来进行流片和封装不符常理。”该举报人说。华虹NEC一位资深人士也说:“通常只在一家公司进行流片或封装,不会分别进行。”
24日深夜11时,喧嚣的上海人民广场已清冷寂寥。在一辆停着的白色轿车中,一位身穿浅色羽绒衣、微胖的年轻人对记者示意:“我就是你要找的举报人。”
他说,经过一天考虑后,他希望与记者“见一面”———这是他第一次面对媒体。
“我们十分担心安全。”每隔20分钟,举报人就驾驶白色车往前行驶一段。
在车内将近两个小时的谈话中,举报人更为详细地透露了他认为“汉芯一号”发明人“陈进是如何造假的”。
“我手中有一系列的光盘证据。”该举报人宣称,“这些光盘有陈进详细的造假过程,包括技术造假内容、实物照片以及一些违法的资金帐面凭据。”
但是,他最终出示给记者的只是“第一份证据”。
第一份证据:ENSOC公司的流片服务?
“陈进一直只说‘汉芯一号’是通过中芯国际走的流片,通过威宇走的封装。”该举报人说:“我有证据证明他说的不符事实。”
该举报人称,陈进以“汉芯一号”是由美国ENSOC公司(Ensoc TechnologiesLtd.)流片的名义,就此向上海交大申请了流片费用30万人民币,交大各级领导审批后,最后这笔钱进入了美国ENSOC账户。
“这是一个‘皮包’公司,没有任何主业。”举报人说,“美国Ensoc公司的法人代表是陈进弟弟的妻子,陈进实际通过中芯国际走流片、威宇和安靠走封装,但另外又以上述工程名义向这个‘皮包’公司汇款,以中饱私囊。
举报人向记者出示了一份2003年3月5日,由美国Ensoc公司以“负责汉芯Edsp21600(即“汉芯一号”)样片的测试、封装及开发系统”名义,出示给上海交通大学芯片与系统研究中心(上海交大微电子学院前身)35,080美金的到帐收据(Invoice)的复印件。
“这是我给媒体的第一份书面证据。”举报人说。
在这份收据单上,同时附有中英文的2002年11月5日签订的《美国ENSOCTechnologies公司———上海交通大学汉芯流片和检测合作协议》(以下简称《合作协议》)复印件。协议上甲方“美国ENSOC Technologies公司”与乙方“上海交通大学芯片与系统研究中心”的法人代表人签名分别为ENSOC公司总裁RobinC.P.Liu和陈进,并有“上海交通大学芯片与系统研究中心”的盖章。
举报人同时出示了一张由“东方科学仪器上海进出口有限公司”开出的发票。该发票显示,商品规格为计算机部件;外币金额:3.54293万美金;汇率:8.2849,数量:2;单价:14.684382万人民币;人民币金额29.368764万元。“东方科学仪器上海进出口有限公司是专门负责‘换汇’的公司。”据该举报人说。
“通过两个公司来进行流片和封装不符常理。”该举报人说。
华虹NEC一位资深人士也说:“一个芯片产品通常只在一家公司进行流片或封装,不会分别进行。”
但是,他们说的只是“通常”———汉芯一号到底有没有在美国ENSOC走流片?如果有的话,最后的成品现在何处?
该《合作协议》称,ENSOC公司是中国留学生在美创办的企业,其在DSP(数字信号处理器)、CPU(中央处理器)以及SOC(系统单晶片)设计技术方面具备雄厚实力。
台湾着名芯片企业凹凸科技中国区一专业技术人员告诉记者,把芯片布局的原理图交给流片服务公司,流片公司把单晶硅柱体切割成很薄的片,布上金属丝,按照设计原理图用激光刻制,这个过程叫做“走流片”。
他介绍,芯片设计和开发的最核心是原理图设计,流片环节目前一般都是外包给专业的流片公司,流片公司有标准化工艺。“能否判定造假,核心不在于流片公司,而在于原理设计图的来源”。
根据《合同协议》,它签订于2002年11月5日,而在2003年的2月26日,“汉芯一号”新闻发布会在上海锦江小礼堂隆重举行。如此推算,从ENSOC签订合同流片,到汉芯一号正式发布,中间最多相隔113天。
对此上述专业技术人员表示,113天相对比较短,但是如果以最快的速度,一台机器专门处理一个芯片还是可以完成走流片过程的。
“不过,用激光刻制原理图耗时长,一般会出现bug,需要不断调试调配。”该技术人员介绍,他所在公司的流片过程通常需要走三个版,一般需要180天左右的时间,“没有一个公司会直接把第一版拿出来发布的。”
因此,他估计113天最多可以按照原理图刻制两个版,要判断陈进是否造假,需要检测最后陈进收到的ENSOC公司完成流片的产品。
由于该份合同并没有留下公司联系电话和传真号码。因此,截止发稿前,记者无法联系到美国
Ensoc公司,核实其公司相关负责人的具体身份。
与此同时,事件另一方———陈进的手机一直处于无人接听状态。
大芯片与小芯片
至此,问题的焦点重新移回到“汉芯一号”的原理图设计上。
该举报人当晚叙述了他判断的“陈进造假”事件流程:“首先,因为有Motorola公司的工作经验,陈进通过各种途径从美国Motorola公司窃取了dsp‘56800E’CORE(核)的源代码。”
“就此事实,陈进曾亲口和我们说过。”该举报人称。
“其次,2002年下半年,陈进将其设计图纸通过中芯国际公司进行流片。”举报人称经此流片后获得的样品为———“大芯片”。
“因为该‘大芯片’只有dsp56800E的CORE,没有调试接口的IP模块,因此,陈进实际上已知‘大芯片’无法使用和量产,也无法通过鉴定专家组的检测。”举报人说:“期间,陈进开始计划购买MOTO-freescale的‘56858芯片’。”
据业内人士介绍,一个dsp芯片只有CORE,而没有调试接口的IP模块,相当于一个电脑只有主机,没有键盘、鼠标和相关内贯程序,因此不能进行“交互”,也无法正常使用。
“再次,2002年8月,陈进通过EMS航空快递从美国的飞思卡尔公司(原摩托罗拉半导体部门,2004年2月更名为飞思卡尔)购买了10片MOTO-freescale的‘56858芯片’。”
举报人说,陈进自己把‘MOTO’的相关字样进行了磨除。但因为划痕过于明显,陈进雇佣民工化了两天时间将芯片表面磨成光滑。然后,陈进通过安靠(AMKOR)公司将其加上‘汉芯’的标识———经过这些流程获得最后获得的产品,被举报人称为‘小芯片’。”
“我看见了民工的打磨过程。”他说。
举报人进而声称,另有一尚留在汉芯团队的人士A曾看见送快递的人将一份EMS交给陈进,而此前几天,陈进已布置A等人员购买相关的打磨工具和雇佣民工等事宜。“他看见并参与了这些过程。”
“接下来的工作,就是鉴定专家组的检测。”举报人说,“但我不知道这个检测过程是如何完成,因为在检测时,陈进用的是通过中芯国际流片后的‘大芯片’。”
举报人自称,在检测前几个小时,他都在场,看到陈进拿出的是“大芯片”,但在随后的检测过程中,他离开了现场。
“事实上,因为大小芯片的商标和规格都不一样,之前,我看到陈进曾在内部出示两个芯片时,心里一直就有所疑惑。”该举报人说。
此前,陈进的公开说法是———“汉芯一号”是通过中芯国际走的流片,而通过威宇走封装,并未提及其它公司。
“但是,实际上负责‘汉芯一号’封装的有两家公司———威宇与安靠。”举报人称,“威宇将通过中芯国际流片获得的‘大芯片’进行封装打上‘汉芯一号’的标识,而安靠(AMKOR)则负责将陈进和民工打磨过的芯片加上汉芯标识。”
他同时称,在2003年2月26日,陈进邀请国家科技部、上海市政府及同行在上海锦江小礼堂召开新闻发布会上演示的“汉芯一号”,用的则是“小芯片”。
“新闻发布会有公开的照片资料,可以查证。”该举报人说。
沉默的专家与量产之迷
那么,鉴定专家组成员是如何完成对“汉芯一号”的“大芯片”的鉴定的?
遗憾的是,几乎所有相关专家都选择了沉默。
交大微电子学院主页介绍:由中国科学院院士王阳元领衔的鉴定专家组一致认为:“汉芯一号”及其相关设计和应用开发平台,属于国内首创、达到了国际先进水平,是中国芯片发展史上一个重要的里程碑。
1月25日早上,记者拨通了北京大学微电子研究院院长王阳元的手机,一位自称其助手的女士告知:“因为身体不好,王阳元全家正在三亚休假,估计2月13日学校开学也不一定能回到北京。”
浙江大学教授严晓浪为鉴定专家组的另一重要成员,他身兼浙江大学电气工程学院院长、浙江大学信息工程学院院长、国家863计划集成电路设计专家组组长等数职。
记者两次拨通严晓浪的手机。他都表示:正有事,不方便说话,随后便挂断了手机。截止发稿前,记者也未获得鉴定专家组另两个成员———中国科学院院士邹世昌和工程院院士许居衍的电子邮件回复。
这样,是否量产则成了一种侧面推断汉芯是否具有自主知识产权的可能方式。
对于陈进曾公开表示“汉芯一号”已获得150万片的国际订单,举报人发问:“如果这150万国际订单是真实的,陈进是否能向公众公出这些订单的发放方,以及‘汉芯一号’的出货单、发票等凭据?”
但截止发稿前,陈进一直处于沉默状态———24日中午到晚上9时,记者一直在上海交大微电子学院的所在地浩然高科技大厦7楼试图守侯,但未见其人。同时,陈进的手机始终处于无人接听状态。<

‘伍’ #include "LQ12864.h"是什么意思

楼上回答的跟没回答有什么区别。。。
LQ12864.h是一个OLED屏幕的驱动的头文件,你是要做飞思卡尔的项目还是那个比赛吗,网上有一些关于这个头文件的源代码和相关解释,你可以去看看。
http://www.amobbs.com/thread-5523383-1-1.html
我也没做过,但愿能帮到你!

‘陆’ 无线wifi控制的智能车 主控芯片是飞思卡尔128的 请问wifi模块怎样与128连接 还有串口通讯源代码怎样的

网上买wifi模块,和无线串口模块,卖家会送对应的参考程序的。

‘柒’ android安装管控——禁止安装非允许应用

1、有android源码及开发板,可编译烧录。Android4.4.2源码,飞思卡尔6Q
2、开发板内存和运存有限,并且仅允许打开1到3个定制应用
3、定制应用需要网络升级,系统OTA不维护三方应用升级
4、不考虑adb install和root权限问题,正式版会关闭这两项功能

1、三方应用在第一次烧录时,必须在data分区,即安装位置必须是,/data/app/三方.apk。且需要保留其自有签名。
2、仅允许安装包名和签名已知且固定的应用。如:com.lucien.test,且SHA1码为:0E:4A:67:A6*****FC:92:6D:64的应用,二者必须同时满足时才可安装。如果判断是不被允许的安装包不给用户任何提示,直接删除。

修改device\fsl\imx6\imx6.mk
在PRODUCT_COPY_FILES 添加如下两行

把三方应用及脚本拷贝到device\fsl\imx6\etc\apks目录下,
_apk.sh:

这个脚本是判断data/app目录下是否有文件夹"lucien",如果有则认为已经过应用直接结束,否则就拷贝三方应用到data分区。因为飞思卡尔几乎没有技术支持,很多编译脚本不知在哪里修改,以前的方案是有个vender目录直接进去即可。

在packages/apps/PackageInstaller/AndroidManifest.xml添加删除文件权限

修改packages/apps/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java

由于markdown语法颜色没弄出来,这里简单说明一下。
//add by lucien和//end by lucien之间是添加的主要内容,包名和sha1码在ALLOW_SHA1 和ALLOW_APP 两个字符串数组里,这两个数组的pacakge和sha1下标必须严格对应,是为了在 isAllow(PackageInfo info)函数少写一个for循环。

‘捌’ 飞思卡尔的IMX6Q芯片好用吗有核心板+底板的吗

飞思卡尔的IMX6Q不错,4核运算,最高主频可达1.2Hz,而且支持高清视频(有高清端口,LCD、LVDS、VGA、HDMI)。虽然说国外的一些开发板都是单板结构,但是国内也有一些不错的厂商开发的核心板+底板的开发平台。这里,推荐天嵌科技的TQIMX6Q_BASEC开发板,比较高的性价比。

‘玖’ 飞思卡尔 mc9s12xs128 单片机 怎样才可以 在EPROM 或者在 FASH 中 保存运行的参数

有相关资料可以参考的,你搜一下flash to epprom相关资料:
用Flash模拟EEPROM
本程序利用S08系列单片机的片内Flash模拟EEPROM。解决部分8位机没有EEPROM导致在运用上的局限。本程序提供一个初始化函数和三个功能函数。用户必须在调用功能函数前调用调用初始化函数。三个功能函数分别是字节写入、字节读取、EEPROM全擦除。用户必须保证调用功能函数前有至少30Bate的栈空间。
本程序参考飞思卡尔公司提供的《在 HCS08 微控制器上使用 FLASH 存储器模拟 EEPROM》。并在源程序的基础上精简了部分功能,减少了RAM使用量。并尝试使用分页机制确定EEPROM地址。
接口函数的EEPROM地址寻址由页地址和页内偏移量组成。即把用户定义的EEPROM分为若干个大小为256字节的页。其地址与FLASH地址的换算关系为:
FLASH真实地址=EEPROM空间起始地址+页地址×256+页内偏移地址
用户在使用EEPROM是只用确定数据保存在EEPROM的相对地址即可。接口函数原型为:
EEPROM_WRITE_DATA(数据,页地址, 页内偏移地址);
Char EEPROM_READ_DATA(页地址, 页内偏移地址);

1. 程序流程分析与设计。
由于S08系列单片机在Flash写入时序中不能进行任何的Flash读操作,Flash写入指令必须放到RAM中执行并关闭所有可屏蔽中断。程序流程如图13-1-?。

字节写入/.全擦除程序流程 字节读取程序流程
图13-1-?
2.程序源代码。此程序在CodeWarrior 6.0继承编译环境中编译通过

/*****************************************************/
//河南工业大学Freescale MCU&DSP联合实验室
// 文件名:flash_program.h
// CPU :MC9S08AW60
// 版 本:v1.0
// 日 期:2008年8月12日
// 调试环境:CodeWarrior 6.0
// 作 者:曾 滔
// 描 述: 头文件,用于保存初始化EEPROM设定、用户定制参数、编译器参数等信息。
/*****************************************************/
#include <hidef.h>
#include "derivative.h"
#include <stdio.h>

/*************flash编程指令(请勿改动)*****************/
#define BLACK_CHECK 0x05 //查空指令
#define BITE_PROGRAM 0x20 //字节编程指令
#define BURST_PROGRAM 0x25 //快速编程指令
#define PAGE_ERASE 0x40 //页擦除指令(1页=512字节)
#define MASS_ERASE 0x41 //全擦除指令

/******用户定制参数(根据单片机型号和用户flash使用情况定制)**********/
#define EEPROM_START_ADDRESS 0xE000 //EEPROM区起始地址。512B的倍数
#define EEPROM_PAGE_NUM 8 //EEPROM页数。1page=256B
#define BUS_FREQUENCY 2000 //总线频率。单位(KHz)

/********************编译器相关参数**************************/
#define INT8U unsigned char //无符号字节变量。根据编译器更改。默认CodeWarrior 6.0
#define INT16U unsigned short int //无符号字变量。根据编译器更改。默认CodeWarrior 6.0
/***********EEPROM API函数原型***********/
//初始化程序。此函数必须在使用EEPROM前调用。建议用户在系统初始化是调用。
void INIT_EEPROM(void);
//EEPROM擦除函数。擦除所有EEPROM数据。
void EEPROM_ERASE(void);
//EEPROM字节写入函数。写入一个字节到EEPROM指定区域。
void EEPROM_WRITE_DATA(INT8U data,INT8U EEPROM_page,INT8U offset_address)
//EEPROM读出函数。读出一个指定的区域所保存的字节的到函数返回值。
char EEPROM_READ_DATA(INT8U EEPROM_page,INT8U offset_address);
/****************************END************************************/

/*****************************************************/
//河南工业大学Freescale MCU&DSP联合实验室
// 文件名:flash_program.c
// C P U :MC9S08AW60
// 版 本:v1.0
// 日 期:2008年8月12日
// 调试环境:CodeWarrior 6.0
// 作 者:曾 滔
// 描 述:提供了一个初始化函数和三个功能函数供用户调用,没有可更改参数。
/*****************************************************/
#include "flash_program.h"

const INT8U FLASH_CODE[]={ // ; flash操作代码
0x45, 0x18, 0x26, // LDHX #$1826 ; FCMD地址写入H:X
0xA6, 0x00, // LDA #$00 ; 0x00为命令占位符
0xF7, // STA ,X ; 将命令写入FCMD命令缓存
0x5A, // DECX ; 指针指向 FSTAT
0xF6, // LDA ,X ;
0xAA, 0x80, // ORA #$80 ;
0xF7, // STA ,X ; 置位FSTAT_FCBEF。启动flash写入命令
0xF6, // LDA ,X ; 等待3个时钟周期(请勿删除此代码)
0xF6, // LDA ,X ; 读取FSTAT
0xA5, 0x30, // BIT #$30
0x26, 0x05, // BNE *+6 ; 错误则返回
//LOOP
0xF6, // LDA ,X ; 等待写操作结束
0xA5, 0x40, // BIT #$40
0x27, 0xFB, // BEQ *-3 ; 跳转到LOOP
//EXIT:
0X81 //RTS ; 返回
};
/*********************初始化函数**********************************/
#if BUS_FREQUENCY >= 12000
void INIT_EEPROM(void){FCDIV=(((BUS_FREQUENCY/(8*175)))|0x40)-1;}
#endif
#if BUS_FREQUENCY < 12000
void INIT_EEPROM(void){FCDIV=(BUS_FREQUENCY/175)-1;}
#endif

/***********************EEPROM字节写入函数****************************/
void EEPROM_WRITE_DATA(INT8U data,INT8U EEPROM_page,INT8U offset_address)
{

INT16U address; //存放写入地址
INT8U code_space[23]; //初始化代码空间

if(EEPROM_page>=EEPROM_PAGE_NUM)return; //地址错误返回,保护用户代码
address=offset_address+EEPROM_page*256+EEPROM_START_ADDRESS; //地址转化
(void)memcpy(code_space,FLASH_CODE,23); //复制flash操作代码到RAM

code_space[4] = BITE_PROGRAM; //修改命令占位符为写入命令

DisableInterrupts; //关中断
if (FSTAT&0x10){ //清错误标志
FSTAT = FSTAT|0x10;
}
_asm
{ //写入初始化
LDHX address;
LDA data;
STA ,X; //写入缓存
TSX;
JSR 2,x; //跳入RAM执行
}
EnableInterrupts; //开中断
__RESET_WATCHDOG();
}

/********************EEPROM字读取入函数********************************/
char EEPROM_READ_DATA(INT8U EEPROM_page,INT8U offset_address){

unsigned short int address; //地址变量
char rusult; //数据变量
address=offset_address+EEPROM_page*0x100+EEPROM_START_ADDRESS; //地址转换
asm{
LDHX address;
LDA ,X; //读取地址到数据变量
STA rusult;
}
__RESET_WATCHDOG();
return(rusult); //返回
}

/**********************EEPROM擦除函数********************************/
void EEPROM_ERASE(void)
{
INT16U address;
INT8U i; //循环变量
INT8U code_space[23];

for(i=0;i<(EEPROM_PAGE_NUM/2);i++){ //分页擦除

address=i*0x200+EEPROM_START_ADDRESS;

(void)memcpy(code_space,FLASH_CODE,23); //复制flash操作代码到RAM

code_space[4] = PAGE_ERASE; //修改命令占位符为擦除命令

DisableInterrupts; //关中断

if (FSTAT&0x10){ //清错误标志
FSTAT = FSTAT | 0x10;
}
_asm
{
LDHX address; //擦除地址写入缓存
STA ,X;
TSX;
JSR 3,x; //跳入RAM执行
}
EnableInterrupts; //开中断
__RESET_WATCHDOG();
}
}
/****************************END************************************/

/*****************************************************/
// 版权所有(c)河南工业大学
// 文件名:mian.c
// C P U :MC9S08AW60
// 版 本:v1.0
// 日 期:2008年8月12日
// 调试环境:CodeWarrior 6.0
// 作 者:曾 滔
// 描 述: 测试Flash模拟EEPROM程序。
/*****************************************************/
#include <hidef.h>
#include "derivative.h"
#include "flash_program.h"

void main(void){
char temp;
PTADD=0XFF;

INIT_EEPROM(); //初始化Flash控制寄存器。
do{
EEPROM_WRITE_DATA(88,0,0); //写入一个字节。
temp=EEPROM_READ_DATA(0,0); //读取一个字节
}while(temp!=88); //若写入失败则再次写入
PTAD_PTAD0=1;

do{
EEPROM_ERASE();
}while(EEPROM_READ_DATA(0,0)!=0xff); //擦除Flash

PTAD_PTAD1=1;
for(;;)__RESET_WATCHDOG(); //死循环
}

‘拾’ PRO6Q-飞思卡尔imx6q核心板配置是怎么样的

性能配置:

  • 处理器---采用Freescale Cortex-a9四核 i.MX6Q 1GHz处理器,性能强悍

  • 存储配置---2GB内存单通道32bit数据总线DDR3,16GB固态硬盘高速eMMC4.5存储,可选配(1G+8G)

  • 系统支持---支持Android4.4&Linux+QT4.8 & Ubuntu12.04

  • 硬件扩展--核心板192PIN管脚引出,功能全面,行业产品开发绰绰有余;支持RGB/LVDS/MIPI/HDMI显示,500W摄像头、4G、GPS、WiFi蓝牙4.0、电池等

  • 设计----核心板采用八层板通孔工艺,抗干扰性更强;核心板40*60mm 开发板160*90mm,功能全面布局合理

技术资料:

  1. 硬件--提供核心板原理图精简版、底板原理图及PCB、结构图等

  2. 源代码--提供Android4.4 源码,持续更新

  3. 资料--提供实用开发板资料文档和使用文档(含Android开发环境搭建和应用开发)

  4. 其他资料--提供开发工具、数据手册等

热点内容
随机启动脚本 发布:2025-07-05 16:10:30 浏览:513
微博数据库设计 发布:2025-07-05 15:30:55 浏览:16
linux485 发布:2025-07-05 14:38:28 浏览:297
php用的软件 发布:2025-07-05 14:06:22 浏览:747
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:421
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:671
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:229
java的开发流程 发布:2025-07-05 12:45:11 浏览:673
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:273
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:823