Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
RTT移植到LPC1752上的相关问题!
发布于 2011-11-10 21:44:10 浏览:4095
订阅该版
硬件:LPC1752(zlg开发板) + CF卡 (多余的IO脚已经悬空) 软件:RTT0.4.0RC for LPC176x 堆地址已经改成 0x10004000 rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x10004000); 问题:跟踪发现每次都在rt_device_init_all中初始化串口1或者串口2或者串口3的Fdiv = ( pclk / 16 ) / UART0_BAUDRATE;处直接跳入fault_rvds的rt_hw_hard_fault PROC再跳入硬件异常函数。初始化函数没有问题已经脱离RTT在工程中用过,软件仿真的时候能正常通过rt_device_init_all,怀疑是和硬件那里冲突,一时找不到!下面是初始化函数和异常响应的。finsh在串口0,去掉所有串口驱动则不会进入硬件异常。 ``` static rt_err_t rt_uart_init (rt_device_t dev) { rt_uint32_t Fdiv; rt_uint32_t pclkdiv, pclk; /* Init UART Hardware */ LPC_PINCON->PINSEL0 &= ~0x000000F0; LPC_PINCON->PINSEL0 |= 0x00000050; /* RxD0 is P0.3 and TxD0 is P0.2 */ /* By default, the PCLKSELx value is zero, thus, the PCLK for all the peripherals is 1/4 of the SystemFrequency. */ /* Bit 6~7 is for UART0 */ pclkdiv = (LPC_SC->PCLKSEL0 >> 6) & 0x03; switch ( pclkdiv ) { case 0x00: default: pclk = SystemCoreClock/4; break; case 0x01: pclk = SystemCoreClock; break; case 0x02: pclk = SystemCoreClock/2; break; case 0x03: pclk = SystemCoreClock/8; break; } LPC_UART0->LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */ Fdiv = ( pclk / 16 ) / UART0_BAUDRATE; /*baud rate */ LPC_UART0->DLM = Fdiv / 256; <==================== 此行跳入硬件异常,屏蔽后下面一行也进入到异常 LPC_UART0->DLL = Fdiv % 256; LPC_UART0->LCR = 0x03; /* DLAB = 0 */ LPC_UART0->FCR = 0x07; /* Enable and reset TX and RX FIFO. */ /* Ensure a clean start, no data in either TX or RX FIFO. */ while (( LPC_UART0->LSR & (LSR_THRE|LSR_TEMT)) != (LSR_THRE|LSR_TEMT) ); while ( LPC_UART0->LSR & LSR_RDR ) { Fdiv = LPC_UART0->RBR; /* Dump data from RX FIFO */ } LPC_UART0->IER = IER_RBR | IER_THRE | IER_RLS; /* Enable UART interrupt */ return RT_EOK; } ``` psr: 0x00000000 pc: 0x00000000 lr: 0x00000000 r12: 0x00000000 r03: 0x00000000 r02: 0x00000000 r01: 0x00000000 r00: 0x00000000 hard fault on thread: (NULL) thread pri status sp stack size max used left tick error -------- ---- ------- ---------- ---------- ---------- ---------- ---
查看更多
4
个回答
默认排序
按发布时间排序
seaman117
2011-11-10
这家伙很懒,什么也没写!
另外CF卡驱动底层已经实现, ReadCompactFlashSector是在指定的地址读一个扇区512Byte,则对RTT的接口是不是按下面的封装? ``` static rt_size_t rt_ide_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size) { unsigned long count , offset , idx ; unsigned char *pData ; pData = ( unsigned char *)buffer ; count = size / 512 ; offset = (pos / 512) + part.offset ; for(idx = 0 ; idx < count ; idx++) { ReadCompactFlashSector(size , pData) ; } ReadCompactFlashSector(offset , pData) ; return count ; } ```
bernard
2011-11-10
这家伙很懒,什么也没写!
0.4.x的驱动,read/write的读写单位都是按照一个块大小进行的。 至于串口的问题,不是太明白,按照道理来说,不会出现对一个寄存器赋值就触发fault的情况。除非这个寄存器的地址是错误的(1752在这块上与1768有区别吗)。
aozima
2011-11-10
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
代码请加标签。 ``` ``` ``` ``` 同样的主题发一处即可。 size单位为sector。 如果sector_size为512, 那么从8192字节处读取1024字节时,pos传过来的值是 8192/512=16,size传过来的值是1024/512=2。
撰写答案
登录
注册新账号
关注者
0
被浏览
4.1k
关于作者
seaman117
这家伙很懒,什么也没写!
提问
1
回答
1
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【本周六-北京】RT-Thread工业以太网应用技术研讨会
2
程序员中后期,靠什么和其他人拉开差距
3
【FRDM-MCXA156测评】- P3T1755模块
4
【FRDM-MCXA156测评】使用CherryUSB开启虚拟串口尝试数据收发
5
手把手移植RT-Thread到GD32VF103(RISC-V)踩坑全记录 ——从零实现RISC-V芯片的RTOS适配
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
编译报错
socket
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
3
次被采纳
踩姑娘的小蘑菇
6
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
9
次点赞
jinchanchan
2
篇文章
2
次点赞
alight
1
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部