自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 6678 DDR3只能访问一半地址宽度 ———— 问题排查与解决

问题描述:C6678开发板配置外部64Bit宽度DDR3大小为1GB,当使用gel文件通过仿真器初始化DSP后,发现写DDR3地址为0x8000 0000 ~ 0x9FFF FFFF(512MB)同时地址0xA000 0000 ~ 0xBFFF FFFF也在变换,比如:0x8000 0000地址写0xaaaa5555,同时0xA000 0000地址值也变成了0xaaaa5555。问题分些:从写地址现象来看,首先想到的应该是0x8000 0000 ~ 0x9FFF FFFF段和0xA000 0000 ~

2021-05-31 11:20:15 1827

原创 自定义DSP串口输出实现可变参打印函数

在dsp串口驱动输出上实现类似于printf函数的可变参打印输出效果。串口驱动代码自行根据使用DSP处理器编写,本文不实现串口驱动和初始化。只实现变参输入转换过程函数。1、串口可变参打印输出实现具体代码如下如下:#include <stdio.h>/** max string length for uart_printf output buffer */#define MAX_WRITE_LEN (528)// 串口打印输出void uart_printf(char * fmt

2021-03-24 10:31:06 1138

原创 6678 多核启动

6678多核加载启动实现主要是通过0核完成。具体实现是DSP上电通过I2C, SPI, EMIF等接口将应用程序加载到核心0运行,然后在核心0运行代码里实现另外7个核的启动地址指定和发送IPC中断唤醒其余7核。启动实现详见如下:1、寄存器定义 // CorePac0-7 IPC 触发寄存器(IPCGRx)#define IPCGR_0_REGS (*((volatile unsigned int *)(0x02620240)))#define IPCGR_1_REGS (*((vol

2021-02-20 15:58:57 5294 5

原创 DSP在SYS/BIOS下串口(UART)接收之环形队列

众所周知串口收/发数据是以字节为单位的位传输通信协议。当串口接收数据按固定数据长度接收;则可能会由于传输过程中出现丢数据,发送端少发数据或多发数据导致接收错位无法正确获取数据。为了解决数据接收错位,我们在接收数据时以串口通信最小单位一个字节为单位接收数据并插如到环形队列中;取数据时进入环形队列查询,若符合接收数据则取数据,否则退出查询。接收插入数据和查询取数互为独立,相互不影响。具体操作详解如下:1、创建环形队列:创建环形队列,如图1;内容包含一个头部指针head,用于出队后移动位置指针;一个尾部

2021-01-25 14:49:01 1681

原创 6678外部存储器DDR3 LeveLing 计算

DDR3数据传输速率最高达到1333MHz,属于高速传输线。所以布线的需要进行阻抗匹配。若因自行设计的DDR3布线长度和官方不一样的话,需要修改DDR3对每组地址线的配置寄存器。寄存器中的数据用DDR3 PHY Calc v10.xlsx计算。如下如:需要填写内容有,DDR Clock Frequency(时钟频率 1333/2,跑在其它速率只需要修改这个值,填写需求值一半即可)。修改DQS,CK 中Stripline length (inches)(布线线长)的值。没有DDR ECC就不需要填最后的

2021-01-22 10:46:10 2118

原创 C6678 SRIO 通道模式与波特率配置

1、 通道模式配置(1X 2X or 4X)相关寄存器: PLM Port(n) Path Control Register (PLM_SP(n)_PATH_CTL)寄存器地址: 0x0291B0B0该寄存器的PATH_MODE域负责配置1X,2X,4X模式。下图为不同mode的配置图:使用CSL API完成通道数配置工作://配置为Mode4,即4x CSL_SRIO_SetPLMPortPathControlMode (hSrio, i, 4); // i 为端口号各种模式对应使用

2021-01-21 12:02:14 3481

原创 DSP 调试自定义变参打印函数

DSP 调试自定义变参打印函数在DSP调试打印信息往往需要打印的信息数量及长度不相等,而每次打印我们又想知道错误所在文件,以及行号等信息等,若直接用printf函数,每次都要输入这些参数会感觉繁琐,所以我们会自定义一个变参函数来代替printf 函数。自定义变参函数具体实现如下:// 调试打印输出 #define DebugPrintf(format, ...) \ do { \ printf("[%16lld | %16s @ %16s, %4d] : "

2021-01-21 11:33:25 545

6678 DDR3 Leveling 计算.rar

6678 DDR3 Partial Automatic Leveling 参数计算

2021-01-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除