-
:shy: :shy: :shy: :shy: :shy: :shy:
-
恭喜了!
-
好东西,用了才知道,用多了,才好
-
搞定,原来是访问内存超界的原因...
-
用swd模式试试,200khz的频率,,我的也会跳出关掉软件,该用swd后就好很多了.
-
第一种在RAM中调试的方法简单步骤如下:
1.设置*.sct文件,将代码定位到RAM2.仿真设置,去掉写,校验flash3.点击调试按钮进入调试状态4.在命令窗口掉入 ram.ini文件,代码会直接跳到RAM中main函数
include ram.ini
ram.ini文件如下:
Load test1.AXF incremental
FUNC void Setup (void) { _WDWORD(0xE000ED08,0x20000000); SP = _RDWORD(0x20000000); pc = _RDWORD(0x20000004); }
Setup(); g,main
-
具体的通信密钥算法啥的可以查找相关书籍,我开始接触是从RFID上了解一点的,不过我不做无线的也没那么专业.
举个简单的例子,主从两端通信,
从端--请求连接-->主端
主端--生成随机数A,经过加密K生成B发送-->从端
从端--由收到的B,解密生成C发送-->主端
主端--接收到C和A比较,如果C是预期的值,则从端可以连接-->从端
-
这个啊,我没用过8963的,但是我玩的是6432和1601的,都是LM3S的,应该差不多,可以参考一下
代码定位:
https://bbs.eeworld.com.cn/thread-230530-1-1.html
自己做升级程序:
https://bbs.eeworld.com.cn/viewthread.php?tid=229188&highlight=
在RAM中调试代码:
https://bbs.eeworld.com.cn/viewthread.php?tid=228746&highlight=
还有什么不清楚的,可以大家谈论
-
说的不错,我也用了FIFO,:handshake
shilaike的总结挺好的,真是个实在人!
TI的UART用的还可以,,只是我在入手的时候没用API而直接调用的寄存器.花费了一点时间开中断,路走顺了就挺好用的.
-
我用第一种试过了,加入了通信密钥验证,写入flash后启动完全正常..不过现在想想第二种也不错,写好一种随便改一下就是另一种了..波特率用的115200,上位机用cb写的,读取*.hex然后自动校验密钥,通过后可写入flash,每次写4个字节.
-
远程升级,网络升级,都可以参考一下,将编译器生成的.hex文件加密一下,然后传入cpu解密,然后写入flash,,这样代码安全就有保证了.
-
编译后看下面的Build Output窗口
就是你所有空间的多少了,
-
我下载的中文资料,中断的,flash的,lm3s1601的
--------------------------------------------------------------
稍后说一下
变量和程序在存储器中的定位,
keil生成代码格式的数据提取
制作自己的底层升级程序
[ 本帖最后由 kiilycn 于 2010-12-17 14:17 编辑 ]
-
使用LM3S1601驱动240*160的屏,32级灰度外带20多个按键,串口通信,串口升级程序.
下次2段学习笔记,测试程序回头也发过来.
以下是个人写程序时的笔记,绝对原创
第一段是,无API的串口中断的应用.包括中断的设置,中断的开启,中断的服务程序
第二段是 RAM运行程序的说明,2中方法,不用每次调试仿真时都烧写flash了,并且速度快了很多.
[ 本帖最后由 kiilycn 于 2010-12-17 13:59 编辑 ]
-
我会写一些编程心得在
我用TI Stellaris——跟帖 中,包括,中断,RAM运行,等,有兴趣的去看一下.
-
说一下我开始使用LM3S产品的过程和一些问题
1.第一个M3芯片.我做的小项目很简单,就是驱动一个LCD,240160的组织页面,按键,操作其他控制卡通讯.以前总关注STM32的了,网上很多资料,也很多推广和讨论的网站,感觉兴趣的来源是价格便宜,功能符合自己的需求,开发资源多,开发工具便宜.当时手里有利尔达送到LM3S6432网口转串口的板子,就开始M3的认识之旅了.
2.遇到第一问题开发环境的建立,送的光盘的keil安装包损坏了自己下的,按照安装提示仿真器应该是Luminary Eval Board,可是我的却只有Stellaris ICDI,建立一个空的工程测试连接,但是总是连接不上.Mode是SWD或JTAG clock=200KHz,最后reset=SYSRESETREQ后才连接上了!
3.第一段测试代码. 最简单的对一个PIN口输出.打开了光盘的代码示例,感觉一团糟,一个项目下几个工程,看来一个遍没找到一个main函数(刚才搜了一下才搜到了int main(void)).然后就开始翻文档,看API,看外设,终于写了几句端口输出,可是运行到这个地方就出错,跳到 FaultISR B FaultISR
的地方,后来打了利尔达的电话才知道是外设的时钟没开.后来才终于开始了.
4.第一条中断代码.说实话找了半天没一个总体的头绪,然后找来LM3S8xx的代码抄了几句,看nvic和ints,终于把串口中断写上去了,可是总触发不了,又开始查文档,看进入调试模式后的Peripherals->core Peripherals->Nested Vectored Interrupt Controller才发现总中断没开,又开始找关于NVIC的资料,然后又看汇编语言,才写了个
__asm void CPU_cpsie(void)
{
//mrs r0, PRIMASK; //用于返回r0
cpsie i;
bx lr
}用来开总中断,
HWREG(NVIC_EN0) = 1