chinesebear 发表于 2015-6-16 21:11:54

关于RTT移植的问题

本帖最后由 chinesebear 于 2015-6-26 22:18 编辑

我想把RTT写到nand flash上,但是又不想把原来的linux搞残。
问题1: 怎样知道flash的分区?
问题2:串口配置的是有cpu时钟频率,我写的是252000000,对吗?实际结果串口输出速率是设定的一半。
调试串口已经OK了,但是系统还有些问题。
前面碰到的情况是调试串口只能TX,不能RX。是由于调试串口(uart2)的全局中断号搞错了,应该是5,结果自己修改的时候改成4了,自作聪明。
图中显示CPU:LS1B,因为是用1B的包移植的。

简单平安 发表于 2015-6-24 12:41:58

chinesebear 发表于 2015-6-22 21:00
我就是用pmon引导的RTT,只不过现在调试串口的驱动有问题,没法接受键盘的输入。
怀疑两个方向:1、寄存 ...

期待你的share。
能tx,波特率就应该没问题。
参考linux和pmon源码中串口驱动部分,应该是个不错的想法。

shigeng 发表于 2015-6-19 13:32:39

进度咋样

简单平安 发表于 2015-6-19 14:32:07

本帖最后由 简单平安 于 2015-6-19 14:46 编辑

不知道RT-Thread是否会用pmon来引导,似乎使用pmon会更方便些,因为这样可以不需要EJTAG。

pmon启动和加载操作系统的方法有几种,可以从nand flash,U盘,网络(tftp)等。从“我想把RTT写到nand flash上,但是又不想把原来的linux搞残。”可以看出,很“慈悲”。我推荐使用tftp方式加载RT-Thread,这样即不需要U盘,也不会破坏nand flash上的linux,复位后就没了。
nand flash的分区可以在linux源码“linux-3.0/arch/mips/loongson/ls1x/ls1c/platform.c“中可以找到
#ifdef CONFIG_MTD_NAND_LS1X
#include <ls1x_nand.h>
#define      SZ_100M      (100*1024*1024)
static struct mtd_partition ls1x_nand_partitions[] = {
       = {
                .name      = "kernel",
//                .offset      = 0x100000,      /* 1MByte保留作启动用 */
                .offset      = MTDPART_OFS_APPEND,
                .size      = 0xe00000,
//                .mask_flags = MTD_WRITEABLE,
      },
/*       = {
                .name      = "data",
                .offset      = MTDPART_OFS_APPEND,
                .size      = MTDPART_SIZ_FULL,
      },*/
       = {
                .name      = "os",
                .offset      = MTDPART_OFS_APPEND,
                .size      = 100*1024*1024,
      },
       = {
                .name      = "data",
                .offset      = MTDPART_OFS_APPEND,
                .size      = MTDPART_SIZ_FULL,
      },
};
你图片中的nand flash分区是linux下shell中查看的,从源码中可以看到所有nand flash都被指定了用途,所以为了给RT-Thread腾块地方,可以通过修改linux源码的方式。

问题1的答案(我的):1,每次开龙上电后,通过tftp把RTT下载到内存,直接在内存里跑;2,修改linux源码,调整分区大小,腾块空间用作RTT分区。

问题2能否上图。

sn2015ol 发表于 2015-6-19 19:13:10

有兴趣移植RTT的朋友可以发个声 ,大家一起组织一下,交流开发经验。

chinesebear 发表于 2015-6-22 20:50:53

本帖最后由 chinesebear 于 2015-6-22 20:53 编辑

简单平安 发表于 2015-6-19 14:32
不知道RT-Thread是否会用pmon来引导,似乎使用pmon会更方便些,因为这样可以不需要EJTAG。

pmon启动和加载 ...
问题1:已经采用tftp。
问题2: 我怀疑是RTT内部波特率计算上的问题。


chinesebear 发表于 2015-6-22 20:52:33

本帖最后由 chinesebear 于 2015-6-22 21:01 编辑

shigeng 发表于 2015-6-19 13:32
进度咋样
目前调试串口uart2的寄存器设置有问题,只能进行TX,RX方向有问题。我正在努力的。

chinesebear 发表于 2015-6-22 21:00:09

简单平安 发表于 2015-6-19 14:32
不知道RT-Thread是否会用pmon来引导,似乎使用pmon会更方便些,因为这样可以不需要EJTAG。

pmon启动和加载 ...

我就是用pmon引导的RTT,只不过现在调试串口的驱动有问题,没法接受键盘的输入。
怀疑两个方向:1、寄存器没哟设置正确,2、驱动有问题,特别是中断调用部分的代码。
正在check。一当成功,会share代码和移植过程。如果移植过驱动的大N,share一下经验吧。

chinesebear 发表于 2015-6-26 22:19:23

简单平安 发表于 2015-6-24 12:41
期待你的share。
能tx,波特率就应该没问题。
参考linux和pmon源码中串口驱动部分,应该是个不错的想法。 ...

调试串口的RX也OK了,但是还有些小问题。
页: [1]
查看完整版本: 关于RTT移植的问题