DSP5509的GPIO学习-第5篇
1. 使用CCS V6.1版本,目前已经不局限于仅仅把实验搞清楚了,要深入去探究内部的原理,本章看下GPIO实验
2. 在CCS启动的时候,提示,这个问题是什么,XDAIS是什么?XDAIS (eXpress DSP Algorithm Interoperability Standard)
See details below... Unrecognized product of type 'com.ti.rtsc.XDAIS' is required by project '5509gpio' - please install at least one product of this type before building this project.
在Codec Engine文档中经常看到的xdais,实际上就是TMS320 DSP Algorithm Standard的另一个名字。根据TI官方白皮书,xdais标准一共提供了39条规则,15条指南。大致了解下,不深入研究。
3. eXpress 是什么?大致理解技术TI制定了一套写代码的标准,大家按这个标准写的代码比较统一,相互之间看的懂。
4. 出现问题如下:这句话究竟是什么意思?是指定内存RAM大小的?
5. 还是之前的问题,一点击连接,CCS就自动关闭,看一下CCS的log日志,怀疑是JRE出了问题。
1 vm_info: Java HotSpot(TM) Client VM (24.60-b09) for windows-x86 JRE (1.7.0_60-b19), built on May 7 2014 13:09:52 by "java_re" with unknown MS VC++:1600
6. 看下CCS的日志,异常的访问变量,什么鬼?
# A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x66b63432, pid=6488, tid=4088 # # JRE version: Java(TM) SE Runtime Environment (7.0_60-b19) (build 1.7.0_60-b19) # Java VM: Java HotSpot(TM) Client VM (24.60-b09 mixed mode windows-x86 ) # Problematic frame: # C [DebugServer.dll+0x393432] # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
7.根据上面的好像是DebugServer.dll这个动态连接库有问题,看下面的,JAVA不识别微软的VC++,真心不知道这个是什么鬼。
1 vm_info: Java HotSpot(TM) Client VM (24.60-b09) for windows-x86 JRE (1.7.0_60-b19), 2 built on May 7 2014 13:09:52 by "java_re" with unknown MS VC++:1600
8. 重新安装CCSV6.1,问题解决。连接目标开发板,这个时候还没有烧写.out文件,可以看到程序指向0xFF8000这个地址,这个地址是什么用途?这个是芯片内部固化的bootloader,它根据外部的GPIO引脚高低电平,决定启动模式。
9. 0xFF8000这个地址保存的什么代码?看不太懂
10. 加载.out文件,pc指针正确,启动地址是0x0040be
11. 看下cmd文件,我觉的很有必要去研究下这个cmd文件,cmd文件是对物理存储器的管理,分配,和使用情况。R可读,W可写,X可执行,I可初始化,一般PAGE 0存放程序空间,PAGE 1存放数据空间。origin其实地址,length是空间大小。
1 MEMORY //MEMMORY声明有哪些存储器,他们的位置和大小。 2 { 3 PAGE 0: 4 PROG0(RWX) : origin = 04000h length = 08000h 5 P_VECT(RIX) : origin = 0FF80h length = 00080h 6 PAGE 1: 7 DATA0(RW) : origin = 0C000h length = 04000h 8 }
12. 看下SECTION,
1 SECTIONS 2 { 3 .vectors : { } > P_VECT PAGE 0 //中断向量表 4 .text : { } > PROG0 PAGE 0 //代码段 5 .cinit : { } > PROG0 PAGE 0 //变量 6 .csldata : { } > DATA0 PAGE 1 7 .stack : { } > DATA0 PAGE 1 //系统栈空间 8 .sysstack : { } > DATA0 PAGE 1 9 .bss : { } > DATA0 PAGE 1 //全局变量和静态变量 10 .cio : { } > DATA0 PAGE 1 11 .const : { } > DATA0 PAGE 1 //const声明的变量,浮点数 12 .sysmem : { } > DATA0 PAGE 1 //malloc等使用的空间,那就是堆喽 13 }
13. 最后一个问题,看下代码,问题在于,我不知道这次用的是那个GPIO引脚?The 5509A provides eight dedicated general-purpose input/output pins, GPIO0−GPIO7,还要只有8个GPIO,手指头都数的过来,IODIR设置8个都输出,IODATA设置高低电平的。这次是GPIO7,芯片第6脚。
1 main() //其实不过 2 { 3 /*初始化CSL库*/ 4 CSL_init(); 5 /*设置系统的运行速度为144MHz*/ 6 PLL_config(&myConfig); 7 /*确定方向为输出*/ 8 GPIO_RSET(IODIR,0xFF); 9 while(1) 10 { 11 GPIO_RSET(IODATA,0x00); 12 delay(); 13 GPIO_RSET(IODATA,0x80); 14 delay(); 15 } 16 }
14.新的疑问,C5509A的引脚都不复用的吗?
转载于:https://www.cnblogs.com/429512065qhq/p/8168011.html
DSP5509的GPIO学习-第5篇相关推荐
- 【STM32】标准库与HAL库对照学习教程外设篇--红外避障传感器
[STM32]标准库与HAL库对照学习教程外设篇--红外避障传感器 一.前言 二.准备工作 三.红外避障传感器 1.传感器原理说明 2.传感器特性 四.标准库使用红外传感器 1.实验程序 2.实验效果 ...
- 单片机学习:第一篇 基于Python的树莓派语音助手
title: 单片机学习:第一篇 基于Python的树莓派语音助手 tags: 树莓派,python,语音助手,百度AIP 目录 一.pyaudio录音 二.语音识别 三.与图灵机器人对话 四.语音合 ...
- 深度学习——数据预处理篇
深度学习--数据预处理篇 文章目录 深度学习--数据预处理篇 一.前言 二.常用的数据预处理方法 零均值化(中心化) 数据归一化(normalization) 主成分分析(PCA.Principal ...
- [BTS]BizTalk学习之Functoid篇(ID Cross-References)
早在三周前,就已经收集了所有有关Cross-Reference Functoid的资源,虽然现在看来,它并不是很难,但想真正的应用它,还是需要花费一些心思的研究一下,不过,托了三周时间,还是写完了. ...
- RabbitMQ学习总结 第一篇:理论篇
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- redis 3.0 cluster 集群 学习之路篇 [3]
周氏一族,整理技术文档,给下一代留点教程...... redis 3.0 cluster 安装篇,请看 http://zhoushouby.blog.51cto.com/9150272/1560400 ...
- ASP.NET MVC学习之路由篇(2)
ASP.NET MVC学习之路由篇(2) 原文:ASP.NET MVC学习之路由篇(2) 继ASP.NET MVC学习之路由篇(1)后继续学习. 7.解决与物理路径的冲突 当发送一个请求至ASP.NE ...
- python学习历程-安装篇(一)
python学习历程-安装篇 之前工作中数据量很少,每天也就是用excel发一下报表,函数已经足够应付工作内容,但心里一直渴望学习更深层次一点的数据分析(崇拜那些技术大神),网上看了很多有关数据分析挖 ...
- [mmu/cache]-ARM MMU的学习笔记-一篇就够了
★★★ 个人博客导读首页-点击此处 ★★★ . 说明: 在默认情况下,本文讲述的都是ARMV8-aarch64架构,linux kernel 64位 . 相关文章 1.ARM cache的学习笔记-一 ...
最新文章
- 有了ROS这架车,SLAM之路不再遥远!
- js 操作json对象增删改
- textureview 旋转90度后平铺_轮滑知识 | 单排轮滑的旋转技巧
- angular五大服务顺序_建议收藏 | 一篇文章告诉你工种的进场顺序
- Android中的音频播放(MediaPlayer和SoundPool)
- opencv打开的图片应用于nn.Conv2d()(一)(H, W, C)转为 (C, H, W)
- 算法不会,尚能饭否之树(1)
- abaqus算出来的转角单位是什么_abaqus中后处理中U的单位是什么?
- 操作系统:操作系统装进U盘的图解教程
- 2022-2028全球全站仪市场现状及未来发展趋势
- 《Java从入门到放弃》JavaSE入门篇:练习——单身狗租赁系统
- JS根据身份证计算年龄
- python爬取守望先锋英雄图片以及描述
- 服装制造业信息化系统分析(一)
- JAVA(五) ——类,对象,变量,方法,构造方法 【简解】
- mysql5.7.25安装包,Mysql5.7.25在windows下安装
- android 自动签名工具下载,安卓批量签名工具使用说明
- 隐马尔科夫模型java实现
- 如何在WPS 2019中将图片背景设置为透明
- 单元主服务器解决性能瓶颈的方法,HBase
热门文章
- DWZ中navTab使用解析
- 马士兵 redis 百度网盘_西甲周六攻略:巴萨 马竞 塞维利亚出战
- 自然语言处理 —— 2.6 word2vec
- numpy中的*(矩阵对应位置元素相乘)和np.dot(矩阵执行矩阵乘法运算)
- leetcode - 1191. K 次串联后最大子数组之和
- 【例题+习题】【数值计算方法复习】【湘潭大学】(一)
- 2018 A Sparse Topic Model for Extracting Aspect-Specific Summaries from Online Reviews 稀疏主题模型学习笔记
- VC 位图按钮CBitmapButton的使用
- python显示中文文件内容_Python实现的json文件读取及中文乱码显示问题解决方法...
- nginx 强制跳转https_Nginx服务器环境手动安装Discuz! Q非详细教程