技术标签: DSP
说明:下面的教程我是参考开发板提供的代码例子
void main(void)
{
// 步骤 1. 初始化系统控制:
// 设置PLL, WatchDog, 使能外设时钟
// 下面这个函数可以从DSP2833x_SysCtrl.c文件中找到..
InitSysCtrl();
// 步骤 2. 初始化通用输入输出多路复用器GPIO:
// 这个函数在DSP2833x_Gpio.c源文件中被定义了
// 这个函数使GPIO控制类寄存器初始化到默认状态
// InitGpio(); // 本例不用此子函数
// 本例使用下面的GPIO配置
Gpio_select();
// 步骤 3. 清除所有中断初始化中断向量表:
// 禁止CPU全局中断
DINT;
// 初始化PIE控制寄存器到他们的默认状态.
// 这个默认状态就是禁止PIE中断及清除所有PIE中断标志
// 这个函数放在DSP2833x_PieCtrl.c源文件里
InitPieCtrl();
// 禁止CPU中断和清除所有CPU中断标志
IER = 0x0000;
IFR = 0x0000;
//初始化PIE中断向量表,并使其指向中断服务子程序(ISR)
// 这些中断服务子程序被放在了DSP280x_DefaultIsr.c源文件中
// 这个函数放在了DSP2833x_PieVect.c源文件里面.
InitPieVectTable();
// 步骤 4. 初始化片内外设:
// 这个函数可以在DSP280x_CpuTimers.c源文件中找到
// InitCpuTimers(); // 这个例子仅初始化了Cpu定时器
// 步骤 5. 用户特定的代码
GpioDataRegs.GPBDAT.all =0x30000000;
GpioDataRegs.GPCDAT.all =0x00000007;
for(;;)
{
delay_loop();
GpioDataRegs.GPBTOGGLE.all =0x30000000;
GpioDataRegs.GPCTOGGLE.all =0x00000007;
delay_loop();
GpioDataRegs.GPBTOGGLE.all =0x30000000;
GpioDataRegs.GPCTOGGLE.all =0x00000007;
}
}
Q1: 做一件事情得有步骤,我用DSP去点灯,我需要哪几个步骤 ?
答:
(1)系统初始化 //这一步肯定得有, 具体怎么配置。参考上面代码 。
(2)配置GPIO //重点是讲GPIO配置,下面会详细展开怎么配置
(3)关闭中断 //参考代码里面,有关闭中断操作。至于为啥要关闭,我猜测是用不到就关闭吧!
(3)主函数调用 //学习单片机的都知道
Q2: 配置GPIO其实就相当于操作寄存器。 DSP有这么多寄存器 。应该操作哪些寄存器?
答:DSP的寄存器非常多,GPIO相关的寄存器也不少。这里我们只需要点灯。操作几个重点GPIO相关寄存器即可,其它的相关GPIO寄存器保持默认即可。具体步骤如下。
(1)根据上面的代码:
EALLOW;
GpioCtrlRegs.GPAMUX1.all = 0x00000000; // All GPIO
GpioCtrlRegs.GPADIR.all = 0xFFFFFFFF; // All outputs
EDIS;
GpioDataRegs.GPBTOGGLE.all
因此操作GPAMUX1、GPADIR、GPBTOGGLE三个寄存器即可 。
1.GPAMUX1: GPIO的多功能复用寄存器,这里点灯,写入00即可。
00:通用的输入输出口
01:外设选择1
10:外设选择2
11:外设选择3
2.GPADIR: GPIO方向寄存器,GPIO共58个,每个寄存器有两种状态。详见P146-P147
0:配置GPIO作为输入
1:配置GPIO作为输出
3.GPBTOGGLE:翻转寄存器 。例如 GPATOGGLE.GPIOx = 1:强制设置端口电平反转。详见:P153-P155
0:无效
1:有效
kernel bootargs的设置也很重要。设置得不正确的话,会无法启动kernel。例如:卡在Starting kernel …进不去。它允许 PetaLinux 在 DTS 中自动生成内核启动命令行设置,或者传递 PetaLinux 用户定义的内核启动命令行设置。bootargs参数默认是:console=ttyPS0,115200 earlyprintk。用户可以自定义。rootargs中的参数说明:rootwait :代表无限等待下去,直到相关底层准备完毕。console : 指定串口.
最近的开发中,有需求多个列表使用同一个table组件,在开发中正常编写,结果突然就报错了,报错信息如下:当时就蒙了,完全不知道错在哪里,后面一步步排查原因,刚开始以为是逻辑错了导致的,后面才发现是HTML层报错,原因是使用了v-if切换元素导致的,后面网上查资料,才知道,是因为表格是element-ui通过循环产生的,而vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用,这就是...
Go TCP编程一、服务端编程步陬:1.创建套接字2.监听套接字3.处理请求server/tcp_server.gopackage serverimport ( "fmt" "net" "github.com/jstang007/gateway_demo/httpserver/handler")// SrvForever 服务端启动函数func SrvForever() { //1、创建套接字 listenner, err := net.Listen("tcp", "0.0.0
1月8日,全球移动互联网大会(Global Mobile Internet Conference,简称GMIC)在北京召开了2020年启动发布会。长城会CEO周昌华、GMIC项目总监邓书...
#!/usr/bin/env python 2 #auto backup files 3 #by lishang 2019--8-19 4 5 import os,sys,time // 导库 6 date = time.strftime('%Y%m%d') ...
@Configurationpublic class CorsConfig {private CorsConfiguration corsConfig() {CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.addAllowedOrigin(""); // 设置访问源地址cors...
listView 在item布局的顶级布局中设置android:descendantFocusability="blocksDescendants"可以阻止子控件获取焦点 这样使item项可以点击 此时焦点是父控件不是子控件 这时其中的图片控件还是可以点击的 那是因为图片这些控件的clickable属性默认为true的原因当设置为false时就彻底不能点了当不想让item能点击时 可以不加...
转:http://blog.csdn.net/ydj213/article/details/8650051demo下载:http://download.csdn.net/detail/ydj213/5120854SQLite是一个持久性数据存储在iPhone上流行的API,因此在上攻的发展是显而易见的。作为一个程序员,你的工作稳定和有据可查的API。干净利索地从应用程序代码中分离出来的所有
NSURLSession VS NSURLConnection NSURLSession可以看做是NSURLConnection的进化版,其对NSURLConnection的改进点有: * 根据每个Session做配置(http header,Cache,Cookie,protocal,Credential),不再在整个App层面共享配置.* 支持网络操作的取消和断点续传* 改进了
变形操作transform使用 transform 规则控制元素的变形操作,包括控制移动、旋转、倾斜、3D转换等none 定义不进行转换。translate(x,y) 2D 转换。translate3d(x,y,z) 3D 转换。同时控制X/Y/Z轴的移动,三个值必须输入如果某个轴不需要移动时设置为零。translateX(x) 沿X轴移动时正值向右移动、负值向左移动translateY(y) 沿Y轴移动时正值向下移动、负值向上移动translateZ(z) 3D 转换,控制Z轴移动,正数向
使用iptable进行nat设置时,可以使用如下扩展选项:# SNAT 源地址转换,用在 POSTROUTING、INPUT 链--to-source [[-]][:port[-port]]--random # 映射到随机端口号,--random-fully # 映射到随机端口号(PRNG 完全随机化)--persistent # 映射到固定地址# DNAT 目的地址转换,用...
一、Spring Boot 相关(1)SpringBoot 面试专题什么是 Spring Boot?Spring Boot 有哪些优点?什么是 JavaConfig?如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?Spring Boot 中的监视器是什么?如何在 Spring Boot 中禁用 Actuator 端点安全性?如何在自定义端口上运行 Spring Boot 应用程序?什么是 YAML?如何实现 Spring Boot 应用程序的安全性?如何集成 S