搜索
bottom↓
回复: 8

一个奇怪问题。如果不用SD,一切正确,用SD,线程启动不起来。(4gui_one_panel)

[复制链接]

出0入0汤圆

发表于 2011-12-6 11:23:03 | 显示全部楼层 |阅读模式
4gui_onepnael教程里面的。不知道为什么?难道有溢出?
如果 不用SD,所有进程都正常。如果加上SD初始化,就出现错误了,GUI进程启动不了。。
SD初始化后正确 。没有问题。
finsh也无法启动。程序就一直停止,死掉。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2011-12-7 11:16:58 | 显示全部楼层
希望有人帮忙,都是例 程。死在进入GUI程序时候。

出0入0汤圆

 楼主| 发表于 2011-12-7 15:07:38 | 显示全部楼层
startup.c
如下:void rtthread_startup(void)
{
    /* init board */
    rt_hw_board_init();

    /* show version */
    rt_show_version();

    /* init tick */
    rt_system_tick_init();

    /* init kernel object */
    rt_system_object_init();

    /* init timer system */
    rt_system_timer_init();
       

#ifdef RT_USING_HEAP
#if STM32_EXT_SRAM
    rt_system_heap_init((void*)STM32_EXT_SRAM_BEGIN, (void*)STM32_EXT_SRAM_END);
#else
#ifdef __CC_ARM
    rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)STM32_SRAM_END);
#elif __ICCARM__
    rt_system_heap_init(__segment_end("HEAP"), (void*)STM32_SRAM_END);
#else
    /* init memory system */
    rt_system_heap_init((void*)&__bss_end, (void*)STM32_SRAM_END);
#endif
#endif
#endif

    /* init scheduler system */
    rt_system_scheduler_init();

    /* init hardware device */
//#ifdef RT_USING_DFS
//{
//        extern void rt_hw_spi_flash_init(void);
//    rt_hw_spi_flash_init();
//}
//#endif
#ifdef RT_USING_DFS
   rt_hw_sdcard_init();   //就是增加这一句,别的都去掉。
#endif

    /* init all device */
    rt_device_init_all();

出0入0汤圆

 楼主| 发表于 2011-12-7 15:14:15 | 显示全部楼层
int rt_application_init()
{
    rt_thread_t init_thread;

#if (RT_THREAD_PRIORITY_MAX == 32)
    init_thread = rt_thread_create("init",
                                   rt_init_thread_entry, RT_NULL,
                                   2048, 8, 20);//执行完成这一句,后面这个rt_init_thread_entry没有启动就死掉
#else
    init_thread = rt_thread_create("init",
                                   rt_init_thread_entry, RT_NULL,
                                   2048, 80, 20);
#endif
    if (init_thread != RT_NULL) rt_thread_startup(init_thread);
    return 0;
}

出0入0汤圆

 楼主| 发表于 2011-12-7 15:24:30 | 显示全部楼层
在运行中,只要一停止,一般停止在SDIO_IRQHandler(void)最后一行。

出0入0汤圆

 楼主| 发表于 2011-12-7 15:28:24 | 显示全部楼层
这个是我修改后的例程ourdev_702477NL76SJ.rar(文件大小:248K) (原文件名:4_gui_single_panel.rar)
大家看一看是什么问题。STJM32F103VE 100Pin

出0入0汤圆

发表于 2011-12-8 07:21:35 | 显示全部楼层
看看sd卡部分电路和程序是不是有问题。

出0入0汤圆

 楼主| 发表于 2011-12-8 08:19:16 | 显示全部楼层
回复【6楼】tiancaigao7 天才杨威利
看看sd卡部分电路和程序是不是有问题。
-----------------------------------------------------------------------

我去掉SD卡,如下图
SystemInit......

CPU SN: 31FF75873152323729682343
\ | /

- RT -     Thread Operating System

/ | \ 0.4.0 build Dec  7 2011

2006 - 2011 Copyright by rt-thread team

sdcard init failed

SD0 File System init failed!

finsh />
如果没有去掉
SystemInit......
CPU SN: 31FF75873152323729682343

\ | /

- RT -     Thread Operating System

/ | \ 0.4.0 build Dec  7 2011

2006 - 2011 Copyright by rt-thread team

sdcard init success
感觉好像SD文件找不到。
int rt_application_init()
{
    rt_thread_t init_thread;

#if (RT_THREAD_PRIORITY_MAX == 32)
    init_thread = rt_thread_create("init",
                                   rt_init_thread_entry, RT_NULL,
                                   2048*2, 8, 20);
#else
    init_thread = rt_thread_create("init",
                                   rt_init_thread_entry, RT_NULL,
                                   2048, 80, 20);
#endif
    if (init_thread != RT_NULL) rt_thread_startup(init_thread);
        rt_kprintf("SD0 has problem!\n") ; //这上一句也能出现 。就是启动不了相应的线程。返回后开始启动线程,开始调度,然后就死掉
    return 0;
如果SD卡没有文件与有文件一样,死机。感谢.应该是SD问题,但我只调用 了一个函数,还是自带的。别的都没有动的。

出0入0汤圆

发表于 2012-2-12 21:11:23 | 显示全部楼层
卡在SD初始化程序里了吧。这个可能性很大。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 01:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表