15172|11

48

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在keil上编译的程序,在Linux下有对应的编译环境吗? [复制链接]

可以用gcc吗?
如下是一个跑马灯的程序,可以在keil上编译,并烧到单片机上,可以跑起来。
烧程序用的是 STC_ISP。

若我想把开发环境转移到Linux上,有相应的 编译平台和烧程序软件吗?
下面这段代码直接用gcc不行吧?


  1. #include
  2. #include
  3. void delay(void)
  4. {
  5.         int i;
  6.         int j;
  7.         int temp = abs(rand());
  8.         for(i=0;i<150;i++) {
  9.         {
  10.             if(temp > 2000)
  11.                     continue;
  12.                 else
  13.                         for(j=0;j
  14.         }
  15.         }
  16. }

  17. void main(void)
  18. {
  19.         int i;
  20.         while(1)
  21.         {
  22.                 P1 = 0xFF;
  23.                 delay();
  24.                 for(i=0;i<8;i++)
  25.                 {
  26.                             P1 = 0xFE;
  27.                         delay();
  28.                                 P1 = 0xFD;
  29.                         delay();
  30.                                 P1 = 0xFB;
  31.                         delay();
  32.                                 P1 = 0xF7;
  33.                         delay();
  34.                                 P1 = 0xEF;
  35.                         delay();
  36.                                 P1 = 0xDF;
  37.                         delay();
  38.                                 P1 = 0xBF;
  39.                         delay();
  40.                                 P1 = 0x7F;
  41.                         delay();
  42.                        
  43.                 }
  44.         }
  45. }
复制代码


对应的reg32.h文件内容如下:

  1. sfr P0    = 0x80;
  2. sfr P1    = 0x90;
  3. sfr P2    = 0xA0;
  4. sfr P3    = 0xB0;
  5. sfr PSW   = 0xD0;
  6. sfr ACC   = 0xE0;
  7. sfr B     = 0xF0;
  8. sfr SP    = 0x81;
  9. sfr DPL   = 0x82;
  10. sfr DPH   = 0x83;
  11. sfr PCON  = 0x87;
  12. sfr TCON  = 0x88;
  13. sfr TMOD  = 0x89;
  14. sfr TL0   = 0x8A;
  15. sfr TL1   = 0x8B;
  16. sfr TH0   = 0x8C;
  17. sfr TH1   = 0x8D;
  18. sfr IE    = 0xA8;
  19. sfr IP    = 0xB8;
  20. sfr SCON  = 0x98;
  21. sfr SBUF  = 0x99;

  22. /*  8052 Extensions  */
  23. sfr T2CON  = 0xC8;
  24. sfr RCAP2L = 0xCA;
  25. sfr RCAP2H = 0xCB;
  26. sfr TL2    = 0xCC;
  27. sfr TH2    = 0xCD;


  28. /*  BIT Registers  */
  29. /*  PSW  */
  30. sbit CY    = PSW^7;
  31. sbit AC    = PSW^6;
  32. sbit F0    = PSW^5;
  33. sbit RS1   = PSW^4;
  34. sbit RS0   = PSW^3;
  35. sbit OV    = PSW^2;
  36. sbit P     = PSW^0; //8052 only

  37. /*  TCON  */
  38. sbit TF1   = TCON^7;
  39. sbit TR1   = TCON^6;
  40. sbit TF0   = TCON^5;
  41. sbit TR0   = TCON^4;
  42. sbit IE1   = TCON^3;
  43. sbit IT1   = TCON^2;
  44. sbit IE0   = TCON^1;
  45. sbit IT0   = TCON^0;

  46. /*  IE  */
  47. sbit EA    = IE^7;
  48. sbit ET2   = IE^5; //8052 only
  49. sbit ES    = IE^4;
  50. sbit ET1   = IE^3;
  51. sbit EX1   = IE^2;
  52. sbit ET0   = IE^1;
  53. sbit EX0   = IE^0;

  54. /*  IP  */
  55. sbit PT2   = IP^5;
  56. sbit PS    = IP^4;
  57. sbit PT1   = IP^3;
  58. sbit PX1   = IP^2;
  59. sbit PT0   = IP^1;
  60. sbit PX0   = IP^0;

  61. /*  P3  */
  62. sbit RD    = P3^7;
  63. sbit WR    = P3^6;
  64. sbit T1    = P3^5;
  65. sbit T0    = P3^4;
  66. sbit INT1  = P3^3;
  67. sbit INT0  = P3^2;
  68. sbit TXD   = P3^1;
  69. sbit RXD   = P3^0;

  70. /*  SCON  */
  71. sbit SM0   = SCON^7;
  72. sbit SM1   = SCON^6;
  73. sbit SM2   = SCON^5;
  74. sbit REN   = SCON^4;
  75. sbit TB8   = SCON^3;
  76. sbit RB8   = SCON^2;
  77. sbit TI    = SCON^1;
  78. sbit RI    = SCON^0;

  79. /*  P1  */
  80. sbit T2EX  = P1^1; // 8052 only
  81. sbit T2    = P1^0; // 8052 only
  82.             
  83. /*  T2CON  */
  84. sbit TF2    = T2CON^7;
  85. sbit EXF2   = T2CON^6;
  86. sbit RCLK   = T2CON^5;
  87. sbit TCLK   = T2CON^4;
  88. sbit EXEN2  = T2CON^3;
  89. sbit TR2    = T2CON^2;
  90. sbit C_T2   = T2CON^1;
  91. sbit CP_RL2 = T2CON^0;
复制代码

最新回复

AVR还有430有GCC的编译环境 51的应该也有吧? 只是我只在WIN平台下,被惯坏了的 呵呵,羡慕LZ哈...  详情 回复 发表于 2009-9-22 22:30
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
至少也要搞个交叉编译环境。得看有没有针对该硬件的开发工具,估计没有。
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 zyzhang365 的回复:
至少也要搞个交叉编译环境。得看有没有针对该硬件的开发工具,估计没有。

单片机没有对应的Linux交叉编译环境吗?
用的是标准 STC89C52芯片啊。。。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
有的,keil有linux下的,但是下载软件估计就难找到,要看单片机的公司了。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 gooogleman 的回复:
有的,keil有linux下的,但是下载软件估计就难找到,要看单片机的公司了。

。。。。
下载程序都不同的吗?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 

继续关注!
理论上应该有的!
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
很久没有碰单片机了
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

8
 
搞个交叉编译环境
应该可以
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

9
 
不知道,下次什么会有时间继续搞单片机
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 6 楼 thinke365 的回复:
很久没有碰单片机了

能否推荐下Linux下的串口烧写程序?
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
我WINXP的编译环境倒是可以在WIN7下用,但USB得烧写一直没法用
LINUX就不知道了
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

12
 
AVR还有430有GCC的编译环境

51的应该也有吧?

只是我只在WIN平台下,被惯坏了的

呵呵,羡慕LZ哈...
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表