免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: T-Bagwell

[其它] 嵌入式开发查缺补漏交流——浅谈嵌入式的开发与应用 [复制链接]

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
发表于 2011-06-21 22:06 |显示全部楼层
还有一个问题,就是论坛上很多人提问Redhat9的问题,究其原因,是因为需要在2.4的kernel下开发.
T-bag,那么结 ...
chenyx 发表于 2011-06-21 21:55



   
个人感觉,环境无所谓,哪个顺手用哪个,关键的是交叉编译环境要选择对
redhat也算是比较经典的了,不过我现在用的是Fedora 14了,毕竟平时也是用这个,顺手一些,舒服一些

论坛徽章:
53
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2011-06-21 22:07 |显示全部楼层
本帖最后由 renxiao2003 于 2011-06-25 13:40 编辑

给力。参加。

支持T版主啊。
本次讨论话题:
1. 嵌入式系统移植
2. 嵌入式应用程序移植
3. 嵌入式驱动程序设计
4. 嵌入式图形系统开发
5. 嵌入式环境建设


针对上面五个问题,我有些想法:
1、系统移植,这个可能T版主比较在行,我不太明白是个什么意思,不可能是WinCE到Linux吧。我觉得可能是WinCE或者Linux在各种硬件平台上移植的时候需要对系统进行修改的过程吧(这里的系统我的理解是OS)。这个可能需要的是更多的了解底层硬件的人来做的哦。不知道T版主是不是在做这个层次。
2、这个我可能了解点,前几天部门的设计考试这么个题(还是架构级的),题目就是把一个应用程序从WinCE移植到Linux系统,需要注意的步骤,以及移植方法。我是稀里糊涂的答了,但也不知道正确与否。有朋友给个比较好的答案吗?请T版主知道一下。
3、驱动程序设计,我是没有做过了啊。别说嵌入式的,普通PC的都没有做过。
4、图像系统开发,我做过Android/Ophone的应用程序,但没有做过游戏,所以图形应该不算了。
5、做Ophone/Android用的是Eclipse开发环境,搭建还是很简单的。就是装ADT插件,下载Android SDK就可以了啊。至于Sybian和WinCE没有搞过。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
发表于 2011-06-21 22:08 |显示全部楼层
回复 21# T-Bagwell


    倒不是Os的问题,我想说的是t-bag现在用的嵌入式的kernel是2.6多还是2.4的多

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
发表于 2011-06-21 22:13 |显示全部楼层
回复  T-Bagwell


    倒不是Os的问题,我想说的是t-bag现在用的嵌入式的kernel是2.6多还是2.4的多
chenyx 发表于 2011-06-21 22:08



    2.6
2.6有很多地方很方便,比如驱动模型,模块子系统,性能上也有很大的优势等,在2.6上都是现有的,相对来说选2.6的比较多

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
发表于 2011-06-21 22:15 |显示全部楼层
回复 24# T-Bagwell


    受教了,看来一些教程该与时俱进,更新了

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
发表于 2011-06-21 22:17 |显示全部楼层
回复  T-Bagwell


    受教了,看来一些教程该与时俱进,更新了
chenyx 发表于 2011-06-21 22:15



    别这么说,咱们互相交流,查缺补漏

论坛徽章:
0
发表于 2011-06-21 22:20 |显示全部楼层
首先可以考虑一下想要做什么,如果是需要做在嵌入式平台的话,可以考虑开发还是移植
   如果是自 ...
T-Bagwell 发表于 2011-06-21 17:55



    谢谢咯~!!!

论坛徽章:
0
发表于 2011-06-22 08:40 |显示全部楼层
问题:

u-boot里哪个文件用于点亮屏,初始化屏; 目前公司的方案能点亮三星的屏,但LG的屏只是背光亮,

屏并不亮,请问这可能是哪些原因造成的(针脚是相同的,好像时序也一样)

还有这个初始化文件 是哪一个,一直没有找到,是不是这也是.s汇编文件

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
发表于 2011-06-22 10:29 |显示全部楼层
本帖最后由 T-Bagwell 于 2011-06-22 10:53 编辑
问题:

u-boot里哪个文件用于点亮屏,初始化屏; 目前公司的方案能点亮三星的屏,但LG的屏只是背光亮,
...
aaaaa5aa 发表于 2011-06-22 08:40



    LCD的规格应该不相同吧?
比如电压,电流的大小
比如初试序列对不?
背光能点亮和lcd能显示图象是两回事

arch/arm/cpu/armv7/start.S

你想要的是这个文件不?

board_init_r里面可以看到stdio_init
stdio_init里面有lcd驱动初始化接口

  1.                                                                                                                                        
  2. int drv_lcd_init (void)                                                                                                                 
  3. {                                                                                                                                       
  4.         struct stdio_dev lcddev;                                                                                                        
  5.         int rc;                                                                                                                        
  6.                                                                                                                                        
  7.         lcd_base = (void *)(gd->fb_base);                                                                                               
  8.                                                                                                                                        
  9.         lcd_line_length = (panel_info.vl_col * NBITS (panel_info.vl_bpix)) / 8;                                                         
  10.                                                                                                                                        
  11.         lcd_init (lcd_base);            /* LCD initialization */                                                                        
  12.                                                                                                                                        
  13.         /* Device initialization */                                                                                                     
  14.         memset (&lcddev, 0, sizeof (lcddev));                                                                                          
  15.                                                                                                                                        
  16.         strcpy (lcddev.name, "lcd");                                                                                                   
  17.         lcddev.ext   = 0;                       /* No extensions */                                                                     
  18.         lcddev.flags = DEV_FLAGS_OUTPUT;        /* Output only */                                                                       
  19.         lcddev.putc  = lcd_putc;                /* 'putc' function */                                                                  
  20.         lcddev.puts  = lcd_puts;                /* 'puts' function */                                                                  
  21.                                                                                                                                        
  22.         rc = stdio_register (&lcddev);                                                                                                  
  23.                                                                                                                                        
  24.         return (rc == 0) ? 1 : rc;                                                                                                      
  25. }                                                                                                                                       
  26.                     
复制代码
从上面的代码入手即可

board_init_ 相关的是一些初始化操作,在这里可以看到lcd相关的入口

  1. init_fnc_t *init_sequence[] = {
  2. #if defined(CONFIG_ARCH_CPU_INIT)
  3.         arch_cpu_init,          /* basic arch cpu dependent setup */
  4. #endif
  5. #if defined(CONFIG_BOARD_EARLY_INIT_F)
  6.         board_early_init_f,
  7. #endif
  8.         timer_init,             /* initialize timer */
  9. #ifdef CONFIG_FSL_ESDHC
  10.         get_clocks,
  11. #endif
  12.         env_init,               /* initialize environment */
  13.         init_baudrate,          /* initialze baudrate settings */
  14.         serial_init,            /* serial communications setup */
  15.         console_init_f,         /* stage 1 init of console */
  16.         display_banner,         /* say that we are here */
  17. #if defined(CONFIG_DISPLAY_CPUINFO)
  18.         print_cpuinfo,          /* display cpu info (and speed) */
  19. #endif
  20. #if defined(CONFIG_DISPLAY_BOARDINFO)
  21.         checkboard,             /* display board info */
  22. #endif
  23. #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
  24.         init_func_i2c,
  25. #endif
  26.         dram_init,              /* configure available RAM banks */
  27. #if defined(CONFIG_CMD_PCI) || defined (CONFIG_PCI)
  28.         arm_pci_init,
  29. #endif
  30.         NULL,
  31. };

复制代码

  1. #ifdef CONFIG_LCD
  2. #ifdef CONFIG_FB_ADDR
  3.         gd->fb_base = CONFIG_FB_ADDR;
  4. #else
  5.         /* reserve memory for LCD display (always full pages) */
  6.         addr = lcd_setmem (addr);
  7.         gd->fb_base = addr;
  8. #endif /* CONFIG_FB_ADDR */
  9. #endif /* CONFIG_LCD */

复制代码

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
发表于 2011-06-22 11:53 |显示全部楼层
支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP