自己吹吹,本人用AT91sam7x256已经是很熟了,大家有啥问题可以来讲讲。【恢复】
自己吹吹,本人用AT91sam7x256已经是很熟了,大家有啥问题可以来讲讲。 请问AT91SAM7E(512)中的DMA(PDC)可以接收并行14bit的数据吗? 如果可以,datasheet上却是如下写的(注意用<<<< >>>>括出来的部分);
26.1 Overview
The Peripheral DMA Controller (PDC) transfers data between on-chip <<<<<serial peripherals>>>>suchas
the UART, USART, SSC, SPI, MCI and the on- and off-chip memories. Using the Peripheral
DMA Controller avoids processor intervention and removes the processor interrupt-handling
overhead. This significantly reduces the number of clock cycles required for a data transfer and,
as a result, improves the performance of the microcontroller and makes it more power efficient.
The PDC channels are implemented in pairs, each pair being dedicated to a particular peripheral.
One channel in the pair is dedicated to the receiving channel and one to the transmitting
channel of each UART, USART, SSC and SPI.
根据这段话能理解成为DMA只能串行的接受数据吗?? 呵呵,楼主这么自信,搞个开发板,搞些教程让大家学习一下 请帮忙分析下J-link! 【1楼】 menis2003 问题: 请问AT91SAM7E(512)中的DMA(PDC)可以接收并行14bit的数据吗?
请问,并行14bit的数据是啥意思,是来自并行外设的?还是一个14bit的数据寄存器? 34480016 晕来晕去 呵呵,楼主这么自信,搞个开发板,搞些教程让大家学习一下
我的确想写写教程,包括usb和网络的使用,usb呢以一个USB数据采集卡为例,网络呢以lwip为例。 panxiaoku 小苦 请帮忙分析下J-link!
分析jlink的使用还是原理?还是如何做盗版jlink,做盗版jlink,这个我不会。 J-link里不是用的ATMEL的ARM吗?是想请您分析一下J-Link的原理啊! 我说的是我用熟了at91asm7x256,这个与jlink有关系吗? ./emotion/em025.gif飘过
本贴被 chutiange_c 编辑过,最后修改时间:2008-12-18,13:13:28. 给个ADS工程,能够输出串口吧;有块7x256板子串口不能用,很郁闷。。。
或者keil ULink的也行:-P
本贴被 rtos 编辑过,最后修改时间:2008-12-18,13:14:49. 我是说J-link不就是那个做的吗??前辈能给分析一下吗??想知道里面的原理!! 神州7号里面也是有arm做的,给你分析分析神州7号的原理? 算了,前辈不会就算了!也不用这么说吧!!!那你说用的很熟了是什么意思?是所有寄存器您都明白是什么意思??都明白怎么配置了???? 顶lz! 熟了,是大部分的寄存器和使用都会了,我没敢说100%的精通。
10楼的串口程序,晚上我发上来。 对不起,楼主,给你添麻烦了,还请包涵! 精华啊,精华啊 -- LZ
很熟的人应该拿得出来. 请问LZ,7X256的JTAG接法,TDO需要上拉么? 7X256的JTAG接法,TDO需要上拉么?
需要上拉,保险。 楼主挺自信,你要是熟悉了所有例程,你可以把7X256从启动过程到中断处理先讲一遍。
然后针对uc/os和 freertos讲讲系统移植。
然后针对SPI访问SD卡讲讲文件系统。
然后针对EMAC讲讲uip或者lwip
然后针对can讲讲CAN总线。
然后针对DMA讲讲3个在操作系统上的工作
可以讲讲如何让系统定时器和DEBUG串口同时工作
要研究的工作挺多。 20楼强_暴./emotion/em006.gif 除了下面的2条,有啥难的?
然后针对can讲讲CAN总线。
然后针对DMA讲讲3个在操作系统上的工作 Jlink与7X256没有任何关系的.
期待楼主的教程中. 撅了半天
一没有一个电路,
二没有一个代码,
三没有一篇文档,
四没有讲半点理论,
夸夸其谈,言之无物。
我敢说你连官方例程都没看完。
本贴被 ralfak 编辑过,最后修改时间:2008-12-19,14:25:49. to 2 楼,是可以接收14位数据的,你得自己填充位,
spi支持16位传送。
SPI也是支持DMA的。
并不是只支持串行方式DMA,
而是7X256根本没有并行接口
I/O口读数据方式不支持DMA 低调,一定要低调。。哈哈哈。。。 想在at91sam7x256上移植ucos,lwip?下面是几个大虾的文档
1) uC/OS-II 平台下的 LwIP 移植笔记――作者:焦海波
点击此处下载 ourdev_550843.pdf(文件大小:1004K) (原文件名:AT7X256_uCOS平台下的LwIP移植笔记.pdf) 2)AT91SAM7X-EK官方文档
点击此处下载 ourdev_550862.pdf(文件大小:570K) (原文件名:AT91SAM7X-EK官方文档.pdf) 3) 移植ucos必看之 μC/OS-II The Real-Time kernel V2.83 release notebook
点击此处下载 ourdev_550882.pdf(文件大小:313K) (原文件名:UCos2.83 ReleaseNotes.pdf)
4)移植ucos必看之 Micrium官方在arm7上的移植说明
点击此处下载 ourdev_550883.pdf(文件大小:516K) (原文件名:AN-1014.pdf) 看下ucos的代码,看下micrium官方在arm7上的移植说明,结合焦海波大虾的文档,加上自己的调试,相信你会搞定AT91sam7x256+Dm9161+ucos+lwip的。 LZ,不是吧,我们需要的是你的亲口传授,不是链接。
这里头不是光移植什么的,主要是你的经验。 哪里有串口代码呢? 楼上,还等呢?自己去搜一下吧! at91sam7s64 的uart的初始化:
// 在IARARM中中断函数进入和返回的方式一样,并不需要__IRQ这类的关键字,加上这个关键字反而会出错
void UART0_RCV_ISR(void)
{
unsigned char ucRccData;
// ARM 是自动清空中断标志的
ucRccData = AT91C_BASE_US0->US_RHR & 0xFF;
// 将接收到的数据发送回
AT91F_US_PutChar(AT91C_BASE_US0,ucRccData);
// AIC中断结束命令寄存器指示中断处理结束,可以写入任意值
*AT91C_AIC_EOICR = 0x00;
}
// uart初始化
void UartInit()
{
// IO连接外设uart0
AT91F_US0_CfgPIO();
// 允许uart0外围时钟
AT91F_US0_CfgPMC();
// uart配置
// 标准模式 8位数据位,1位停止位,无奇偶校验
// 期望波特率为9600,实际为18432000*73/28/313=9595.62,误差为0.04%。
AT91F_US_Configure(AT91C_BASE_US0,AT91B_MCK,AT91C_US_ASYNC_MODE,9600,0);
// 禁止所有中断
AT91C_BASE_US0->US_IDR = 0xF3FFF;
// 仅仅使能接收中断,注意这两句的顺序,如果反了,就不能进入接收中断了
AT91C_BASE_US0->US_IER = AT91C_US_RXRDY;
// 设置接收中断服务函数地址
AT91C_AIC_SVR=(unsigned int )*UART0_RCV_ISR;
//打开AIC中断
*AT91C_AIC_IECR = 1 << AT91C_ID_US0;
// 允许接收
AT91F_US_EnableRx(AT91C_BASE_US0);
// 允许发送
AT91F_US_EnableTx(AT91C_BASE_US0);
} 在别的贴里还见到一2004xxg,不知道是不是楼主! 那个不是我,我只注册了2005xxg,是05年毕业的,xxg是我姓名的简拼。 2004xxg,在论坛里我搜了下,没有这个ID呀? 不错,希望LZ能给出更多的调试经验和步骤。 顶出水平,嘻嘻 请教LZ,能否提供简单7x256的启动代码或者模版
以供参考学习 LZ,不错。 . 发篇我以前写得文档,用keil mdk 环境 。“AT91Sam7x256 Flash操作总结 ”,里面有keil for at91sam7x256的启动代码的分析,大家看看。
点击此处下载 ourdev_555142.doc(文件大小:350K) (原文件名:AT91Sam7x256flash操作总结.doc)
Keil启动文件分析:
打开Sam7.s看见如下代码段
Stack_Size EQU (UND_Stack_Size + SVC_Stack_Size +
ABT_Stack_Size + \
FIQ_Stack_Size + IRQ_Stack_Size + USR_Stack_Size)
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
Stack_Top EQU Stack_Mem + Stack_Size
Heap_Size EQU 0x00000400
AREA HEAP, NOINIT, READWRITE, ALIGN=3
Heap_Mem SPACE Heap_Size
//上面分别是设置堆栈大小,并分配堆栈空间,此时堆栈的起始地址并未确定,需要在__user_initial_stackheap()函数中设置。
; Setup Main Oscillator 设置主时钟,并等待主时钟稳定
LDR R1, =PMC_MOR_Val
STR R1,
; Wait until Main Oscillator is stablilized
IF (PMC_MOR_Val:AND:PMC_MOSCEN) != 0
MOSCS_Loop LDR R2,
ANDS R2, R2, #PMC_MOSCS
BEQ MOSCS_Loop
ENDIF
; Setup the PLL 设置PLL,并等待PLL稳定
IF (PMC_PLLR_Val:AND:PMC_MUL) != 0
LDR R1, =PMC_PLLR_Val
STR R1,
; Wait until PLL is stabilized
PLL_Loop LDR R2,
ANDS R2, R2, #PMC_LOCK
BEQ PLL_Loop
ENDIF
; Select Clock
IF (PMC_MCKR_Val:AND:PMC_CSS) == 1 ; Main Clock Selected
LDR R1, =PMC_MCKR_Val
AND R1, #PMC_CSS
STR R1,
WAIT_Rdy1 LDR R2,
ANDS R2, R2, #PMC_MCKRDY
BEQ WAIT_Rdy1
LDR R1, =PMC_MCKR_Val
STR R1,
WAIT_Rdy2 LDR R2,
ANDS R2, R2, #PMC_MCKRDY
BEQ WAIT_Rdy2
ELIF (PMC_MCKR_Val:AND:PMC_CSS) == 3 ; PLL Clock Selected
LDR R1, =PMC_MCKR_Val
AND R1, #PMC_PRES
STR R1,
WAIT_Rdy1 LDR R2,
ANDS R2, R2, #PMC_MCKRDY
BEQ WAIT_Rdy1
LDR R1, =PMC_MCKR_Val
STR R1,
WAIT_Rdy2 LDR R2,
ANDS R2, R2, #PMC_MCKRDY
BEQ WAIT_Rdy2
ENDIF ; Select Clock
ENDIF ; PMC_SETUP
上面的代码分别是设置主时钟,首先允许主时钟(注意SAM的时钟分为主时钟,PLL时钟,慢时钟,分别对应18.432M晶振,PLL,32768HZ的内部RC电路),主时钟的稳定时间为6 × 8个慢时钟周期,当主时钟稳定后,使能PLL,PLL的输入为18.432/5,输出为(18.432/5)*(25+ 1) =95.8464MHz,然后选择PLL的2分频为主机时钟(注意这个主机时钟与主时钟不一样,主机时钟指单片机的机器时钟)。上面的代码设置USB时钟为95.8464MHz,当我们使用USB的时候,要重新设置USB时钟为PLL时钟的2分频。 坛子里感觉 ralfak是这方面的高手,大家有问题可以问他,我算是抛砖引玉,自己吹吹,然后把潜水的高人引出来,呵呵,请 ralfak留下qq方式,能否共同写点教程出来,活跃活跃气氛,ucos,lwip,usb,部分我来写,spi,sd卡,can总线你来写?? 楼主好!请教个问题!ATM9260 的SPI通讯如何初始化! 请问知道这个是什么问题吗?
Error: Undefined external "__write" referred in ?putchar ( C:\Program Files\IAR Systems\Embedded Workbench 4.0 "__write" 没有定义。 那么请教下楼主有,没有基于FAT32文件系统的SD读卡器方面的代码、总结或笔记之类的呢? To 47: "__write" 没有定义。
很可能大家都明白是某个函数库中的WRITE中的入口没有定义。
但请问能提供解决方法吗? 没有基于FAT32文件系统的SD读卡器方面的代码、总结或笔记之类的呢?
很抱歉,暂时还没搞这方面的东西,没有代码,总结和笔记。
To 47: "__write" 没有定义。
很可能大家都明白是某个函数库中的WRITE中的入口没有定义。
但请问能提供解决方法吗?
我还没装上iar5,但是只要是函数没定义,有个好方法,你到iar的安装目录里面搜索write,就能找到包含这个函数的文件,然后将这个文件用inlcude 引入。 To 50:
高手就是高手!
是能找到WRITE.C的文件,但加入后依然会有问题?会提示某些文件WRITE被重复定义? 有些人。。。。。楼主这种提问回答的方式也挺好,希望可以坚持下去,日积月累,就可以总结出一个文档了 不知道有同好在7x256上接过eeprom么?我外接了一个AT24C64A,使用IAR5.2的样例调试,发现做片写时,mcu总是收到nack。大家有没有这方面的经验,指正一下 樓主抽空看看亞 没实质内容顶的到挺高,顶 AT91sam7x256是什么? 请教楼主,PLL外围的RC电路如何计算???谢谢!!! 标记下 呵呵 我把AT91sam7x256-ek上的AT91sam7x256换成AT91sam7x512,为什么ucos就烧不进去了呢? 请问AT91sam7x256如何用J-Flash设置加密?
不知道安全位放在哪里啊? To 3#
JLink我没有猜错的话,应该是基于SSC和SPI实现的,我没有认真核对JLink的电路图。
如果要我来做的话,SSC是TDI/TDO的主信号回路,SSC的TCK反馈给SPI,用来处理TMS相关的东西。顺便监控RTCK之类的信号。
我以前想用9200的SSC做JTAG来着,不过后来没有写完代码。分析SSC能实现的输出时序,实际上非常便于实现JTAG的信号时序的。SPI就稍微麻烦一些。
To 53#
IIC的没有问题。建议根据手册上TWI模块的要求,设置时钟,引脚状态等。
另外波特率先给最低的试试看。尤其是要算好地址。
To 57#
PLL RC计算在ATmel 7x256的页面上有一个Excel文件下载,使用那个文件进行计算就可以了。如果用18。432的晶体则直接看EVK的参数。
To 59#
7x512是两个Bank的,如果只写前边256k,应该是一样的。如果容量更大,可能需要写另外一组寄存器才能操作后边的256k Flash。
详情请参考手册。
To 60#
ATmel的加密就是往寄存器里写一个数据。这个东西物理上放在什么地方,目前没看到有资料说。恩。 我想问一下,我用的at91sam7x256的板子,程序是直接通过keil_download下到板子的,下完以后就能跑,而且是对的,但当我把jlink与板子断开以后,程序就跑不对了,为什么呢,请各位大虾指教 顶起来! 谢谢 顶起来 mark AT91SAM7X256 看门狗不起作用, 不知道大家是否遇到过? 回复【50楼】2005xxg
-----------------------------------------------------------------------
2005xxg兄弟很久没有现身了,不知道还在不在坛了里,如在,能不能留个联系方式?或联系下我? 回复【楼主位】2005xxg
-----------------------------------------------------------------------
请问LZ:
AT91SAM7X256不启用PLL,能直接使用外部晶振作为主时钟吗? 回复【12楼】2005xxg
神州7号里面也是有arm做的,给你分析分析神州7号的原理?
-----------------------------------------------------------------------
怎么知道的,是用ARM,无图无真相 AT91SAM7X256中FLASH写数据具体是怎么配置的,楼主能否给个说明?谢谢! 来学习了。 给力 很好。 还是找一款开发板,自己没事搞搞吧。 我想问一下芯片的波特率怎么计算啊 lz 我是arm初学者老师给了我一块stm32开发板 我想问一下 stm32学到什么程度可以学arm9??? 一直都是用 8051 最近想学下ARM, 但在 RTOS,半主机方式,Flash操作等方面很难做个实验,请做个例子............ 楼主能说说菜鸟怎么开始学习ARM吗 楼主,能不能给个AT91SAM7X512最小系统和JTAG的电路原理图啊.小弟急需。 请教AT917X256 SPI通信问题KEIL环境死活调不通 51单片机我也到不3这个层次呀
dr2001 发表于 2009-7-8 10:11 static/image/common/back.gif
To 3#
JLink我没有猜错的话,应该是基于SSC和SPI实现的,我没有认真核对JLink的电路图。
如果要我来做的话 ...
at91sam7x256 spi通信一直调不通 请问有初始化和简单读写的例程么 谢谢 at91sam7x256 spi通信一直调不通 请问有初始化和简单读写的例程么 谢谢 楼主,不要在这瞎扯淡了,没有一点实际东东,到此瞎吹,也许那天听人说有AT91SAM7X256就到这来吹自己 哈哈,多年前的帖子了,是个哗众取众的帖子,目的是抛砖引玉,现在搞STM32了。 一定要低调,做技术的更是要低调,少说话多做事 厉害 2005xxg 发表于 2013-9-2 09:19 static/image/common/back.gif
哈哈,多年前的帖子了,是个哗众取众的帖子,目的是抛砖引玉,现在搞STM32了。 ...
您好!请问怎么加密设置AT91SAM7SE512(即禁止JTAG访问Flash等),我这边一设置安全位就出问题程序跑飞现象,不知道您有相关加密例程没有? 2679793656@qq.com 多谢
页:
[1]