10505|40

554

帖子

0

TA的资源

版主

楼主
 

关于呼吸灯小作业的投票结果 [复制链接]

 
本帖最后由 spacexplorer 于 2014-7-26 11:51 编辑

首先感谢大家积极投票,结果如下:

每位参与者都有得票,其中,第三位(id:yuanlai2010)得票最高,将获得君益兴提供的奖品。
接下来请参与者跟贴公布源码,公布源码者都有小礼品赠送!

其实,呼吸灯控制原理比较简单,就是根据时间调节亮度,大家做出来的效果都差不多,但是为什么大家的得票数差别这么大呢?估计大家和我一样,注重结果的同时,更注重态度,第三位参与者,很有心,特别是在录像的时候达到了很好的效果,这应该是让大家最认可的地方,事实上,行业内不缺高手,缺的是认真做事的态度,所以很多老板更在乎脚踏实地的工程师,而不是水平很高做事马虎的工程师!

奖品已经通过顺丰发货,单号:033097786633

最新回复

赞一个  详情 回复 发表于 2014-8-22 11:08
点赞 关注(1)
个人签名My dreams will go on...
http://www.jyxtec.com

回复
举报

603

帖子

1

TA的资源

纯净的硅(中级)

沙发
 
本帖最后由 sjtitr 于 2014-7-27 11:34 编辑

第一个交作业所以第一个跟帖……

看来论坛的源码分享还是不给力啊。
附件的源文件,用linux一编译:arm-linux-gcc breathing.c -o breathing
然后就可以复制到板上执行啦:./breathing

breathing.rar (1.22 KB, 下载次数: 17)

我用的就是收货时候原装板子上的环境,那个时候我的NFS还没有搭建成功呢。搭建成功以后的,我还没有试过这个代码。

点评

sjtitr[/backcolor]:请把源码包贴出来吧,否则坛友直接复制出来的代码可能会有字符错误。。。  详情 回复 发表于 2014-7-27 10:33
发现把楼主的代码拷入Linux中编译出现好多问题呢,以前都是在WIN下用KEIL等软件,现在这个都不知道怎么调试了 现在贴上错误信息,烦请解决下,谢谢! 另外如果linux中调试有跟踪函数功能就好了,就像用了什  详情 回复 发表于 2014-7-26 22:04
 
 

回复

456

帖子

2

TA的资源

一粒金砂(中级)

板凳
 
投票已经结束
 
 
 

回复

240

帖子

4

TA的资源

一粒金砂(中级)

4
 
本帖最后由 abszy 于 2014-7-24 14:32 编辑

这次作业能够顺利完成 首先感谢版主及yuanlai2010的学习心得,作业基于yuanlai2010的Led_blink修改而成,
源码如下:
1.led_blink.S(文件名我也懒得改了)
  1. @******************************************************************************
  2. @ File:led_blink.S
  3. @ 功能:关闭看门狗,跳转到C函数
  4. @******************************************************************************   
  5. .text
  6. .global _start
  7. _start:
  8.                 LDR                R0,        =0x53000000         @关闭看门狗
  9.                 MOV  R1, #0x00
  10.                 STR                R1,        [R0]
  11.                                 // 初始化irq
  12.                 BL irq_init @跳转到irq_init
  13.                 BL       main                        @跳转到main
  14. .end
复制代码
2.main.c

  1. #define                TCFG0                (*(volatile unsigned long *)0x51000000)
  2. #define                TCFG1                (*(volatile unsigned long *)0x51000004)
  3. #define                TCON                (*(volatile unsigned long *)0x51000008)
  4. #define                TCNTB1                (*(volatile unsigned long *)0x51000018)
  5. #define                TCMPB1                (*(volatile unsigned long *)0x5100001C)
  6. #define                TCNTO1                (*(volatile unsigned long *)0x51000020)

  7. #define                GPBCON                (*(volatile unsigned long *)0x56000010)

  8. #define         SRCPND                (*(volatile unsigned long *)0x4a000000)
  9. #define         INTMOD                (*(volatile unsigned long *)0x4a000004)
  10. #define         INTMSK                (*(volatile unsigned long *)0x4a000008)
  11. #define         INTPND                (*(volatile unsigned long *)0x4a000010)
  12. #define         INTOFFSET        (*(volatile unsigned long *)0x4a000014)
  13. unsigned int i=0,j=0;

  14. void irq_init(void)
  15. {
  16.         // 使能timer1中断
  17.         INTMSK &= (~(1<<11));
  18. }

  19. // timer1中断的中断处理函数
  20. void do_irq()
  21. {        
  22.         if(j=0){

  23.                 if(i<65536)
  24.                 {               
  25.                         TCMPB1 = i++;
  26.                         TCNTB1 = 65535;
  27.                 }
  28.                 else j=1;
  29.                 }
  30.         if(j=1){
  31.                 if(i>0){
  32.                 TCMPB1 = i--;
  33.                 TCNTB1 = 65535;
  34.                 }
  35.                 else j=0;
  36.                 }
  37.     // 清中断
  38.     SRCPND = 1 << INTOFFSET;
  39.     INTPND = INTPND;
  40. }


  41. int main()
  42. {
  43.         
  44.         GPBCON = 0x0c; //设置GPB1为timer1模式
  45.         TCFG0  = 3;        // 预分频器3               
  46.       TCFG1  = 0x01;      // 选择16分频

  47.         TCON |= (1<11);        // 使能自动加载
  48.       TCMPB1 = 0;     //
  49.       TCNTB1 = 65535;     //
  50.       TCON = 0x200;        // 手动更新
  51. //    TCON   |= (1<<9);   
  52.     TCMPB1 = 1;     //
  53.     TCNTB1 = 65535;     //
  54.     TCON   = 0x0900;      // 自动加载,清“手动更新”位,启动定时器0
  55.         
  56.         while (1)
  57.         {
  58. }
  59. return 0;
  60. }
复制代码
3.makefile
  1. led_blink.bin :led_blink.o  main.o
  2.         arm-linux-ld -Ttext 0x40000000 -o led_blink.elf $^
  3.         arm-linux-objdump -D led_blink.elf > led_blink_elf.dis
  4.         arm-linux-objcopy -O binary -S led_blink.elf led_blink.bin
  5. #        gcc mk2416sdbin.c -o mk2416sdbin
  6. #      ./mk2416sdbin led_blink.bin app.bin
  7. %.o : %.S
  8.         arm-linux-gcc -c -o $@   [        DISCUZ_CODE_17        ]lt;

  9. %.o : %.c
  10.         arm-linux-gcc -c -o $@   [        DISCUZ_CODE_17        ]lt;
  11. clean:
  12.         rm -f  mk2416sdbin led_blink.elf led_blink_elf.dis *.bin *.o
复制代码
我在makefile中没有加入yuanlai2010的mk2416sdbin这个代码,所以使用make后生成的led_blink.bin,需要使用SdBoot软件将文件大小调整为8k,然后使用君益兴的IROM_Fusing_Tool烧写到TF卡中,即可。
当然可以自己加入yuanlai2010的mk2416sdbin.c,然后在makefile中取消5,6行的注释,make后直接可以使用IROM_Fusing_Tool将app.bin烧写到TF卡中
运行时别忘了将启动跳线帽设置到SD_Boot位置!

将makefile中的“[        DISCUZ_CODE_17        ]lt;”替换为“@<”


源文件打包如下:
ledpwmint.zip (32.38 KB, 下载次数: 8)






点评

看样子这个是使用IROM自身的异常向量表啊!原来还可以这么用,我都一直以为在IROM启动模式下一定要重映射才能用中断de  详情 回复 发表于 2014-7-24 14:32
 
 
 

回复

241

帖子

4

TA的资源

纯净的硅(初级)

5
 
本帖最后由 yuanlai2010 于 2014-7-24 14:25 编辑

很荣幸我能得到最多的票数,这里必须要感谢BOSS及各网友的支持!
真的如BOSS所说,“呼吸灯控制原理比较简单,就是根据时间调节亮度,大家做出来的效果都差不多,但是为什么大家的得票数差别这么大呢?”
其实我也是真心觉得各位网友的效果都很不错,尤其是网友mummy108还能加入一些自动控制在里面,看上去就给人一种高大上的感觉。
那为什么我能得到最多的票数呢?
我觉得最大的原因就是我的录像质量给我加了分。我是特意找了一个架子把手机架上,再配上合适的灯光,然后再拍摄的这段视屏,就不会有抖动的现象出现了,效果也还不错,我觉得我就是在这方面捡了一个便宜吧!
下面附上我的代码:(主要是在C上,汇编启动代码就不上了)代码很简单,当时也只是测试C函数调用的时候随手写了这么一段,没有用到什么定时器,仅仅是简单的延时。
  1. #define GPBCON (*(volatile unsigned *)0x56000010)
  2. #define GPBDAT (*(volatile unsigned *)0x56000014)

  3. void delay(unsigned int time)
  4. {
  5.         unsigned int i=0,j=0;
  6.         for(i=0;i<time;i++)
  7.                 {
  8.                         for(j=0;j<100;j++);
  9.                 }
  10. }
  11. void LED_init()
  12. {
  13.         GPBCON = 0x00000004;
  14. }

  15. char LED(char state)
  16. {
  17.         if(0 == state)
  18.         {
  19.                 GPBDAT = 0x00000002;
  20.                 return 0;
  21.         }
  22.         else
  23.         {
  24.                 GPBDAT = 0x00000000;
  25.                 return 1;
  26.         }
  27. }

  28. void main()
  29. {
  30.         char j;
  31.         int i=10;
  32.         LED_init();
  33.         while(1) //由暗到亮,由亮到暗,不断循环
  34.         {
  35.                 while(200-i)
  36.                 {
  37.                         for(j=0;j<10;j++)
  38.                         {
  39.                                 LED(1);
  40.                                 delay(i++);
  41.                                 LED(0);
  42.                                 delay(200-i);
  43.                         }
  44.                 }
  45.                 while(i-10)
  46.                 {
  47.                         for(j=0;j<10;j++)
  48.                         {
  49.                                 LED(1);
  50.                                 delay(i--);
  51.                                 LED(0);
  52.                                 delay(200-i);
  53.                         }
  54.                 }
  55.         }
  56. }
复制代码
给上源工程附件: 003_led_breathe.rar (2.56 KB, 下载次数: 8)



点评

yuanlai2010很谦虚。大家都要学习一下这种谦虚好学的精神。支持、  详情 回复 发表于 2014-7-28 14:00
恭喜了~ 我是刚好移植了cli所以就用上了,  详情 回复 发表于 2014-7-24 16:15
请提供完整的代码打包,方便大家验证和学习!  详情 回复 发表于 2014-7-24 14:33
 
 
 

回复

241

帖子

4

TA的资源

纯净的硅(初级)

6
 
abszy 发表于 2014-7-24 13:38
这次作业能够顺利完成 首先感谢版主及yuanlai2010的指导,作业基于yuanlai2010的Led_blink修改而成,
源码 ...

看样子这个是使用IROM自身的异常向量表啊!原来还可以这么用,我都一直以为在IROM启动模式下一定要重映射才能用中断de
 
 
 

回复

554

帖子

0

TA的资源

版主

7
 
yuanlai2010 发表于 2014-7-24 14:20
很荣幸我能得到最多的票数,这里必须要感谢BOSS及各网友的支持!
真的如BOSS所说,“呼吸灯 ...

请提供完整的代码打包,方便大家验证和学习!

点评

已经提供了源工程文件包了,就在贴的代码的下面!  详情 回复 发表于 2014-7-24 14:34
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

241

帖子

4

TA的资源

纯净的硅(初级)

8
 
spacexplorer 发表于 2014-7-24 14:33
请提供完整的代码打包,方便大家验证和学习!

已经提供了源工程文件包了,就在贴的代码的下面!
 
 
 

回复

420

帖子

0

TA的资源

纯净的硅(初级)

9
 
恭喜得票最多的获奖者了。
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

10
 
yuanlai2010 发表于 2014-7-24 14:20
很荣幸我能得到最多的票数,这里必须要感谢BOSS及各网友的支持!
真的如BOSS所说,“呼吸灯 ...

恭喜了~ 我是刚好移植了cli所以就用上了,

点评

你的代码也贴一下,谢谢!  详情 回复 发表于 2014-7-24 19:40
 
 
 

回复

554

帖子

0

TA的资源

版主

11
 
mummy108 发表于 2014-7-24 16:15
恭喜了~ 我是刚好移植了cli所以就用上了,

你的代码也贴一下,谢谢!
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

1461

帖子

1

TA的资源

纯净的硅(中级)

12
 
正在出差,没带电脑,等回去了就上传源码
 
 
 

回复

554

帖子

0

TA的资源

版主

13
 
奖品已经通过顺丰发货,希望没有贴源码的补上源码,谢谢!
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

14
 
sjtitr 发表于 2014-7-24 12:26
第一个交作业所以第一个跟帖……

我的代码好办,就一个文件,存成.c,用linux一编译:arm-linux-gcc bre ...

发现把楼主的代码拷入Linux中编译出现好多问题呢,以前都是在WIN下用KEIL等软件,现在这个都不知道怎么调试了
现在贴上错误信息,烦请解决下,谢谢!
另外如果linux中调试有跟踪函数功能就好了,就像用了什么函数,keil中电机该函数然后“go to define”就能找到该函数的定义了。
GCC.GDB调试真心用不习惯啊~

另外helper提供的内核中默认开启了PWM设备驱动么,貌似你默认已经打开这个设备了,然后在使用的。

另外想问一句,代码编译成功后放在NFS共享文件夹下直接运行./breathing就可以么,有点不是很理解,这方面。
看了其他坛友的制作方式是通过SD卡通过从SD卡启动来完成得,这个很好理解就像单片机一样。

先谢谢了~

  1. root@ubuntu:/help2416_test/breath_20140726# arm-linux-gcc breathing.c -o breathing
  2. breathing.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
  3. In file included from /Software/arm-jyxtec-linux-gnueabi/bin/../arm-jyxtec-linux-gnueabi/sysroot/usr/include/bits/fcntl.h:25,
  4.                  from /Software/arm-jyxtec-linux-gnueabi/bin/../arm-jyxtec-linux-gnueabi/sysroot/usr/include/fcntl.h:34,
  5.                  from breathing.c:3:
  6. /Software/arm-jyxtec-linux-gnueabi/bin/../arm-jyxtec-linux-gnueabi/sysroot/usr/include/sys/types.h:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'u_char'
  7. breathing.c: In function 'main':
  8. breathing.c:33: error: stray '\302' in program
  9. breathing.c:33: error: stray '\266' in program
  10. breathing.c:33: error: 'ms' undeclared (first use in this function)
  11. breathing.c:33: error: (Each undeclared identifier is reported only once
  12. breathing.c:33: error: for each function it appears in.)
  13. root@ubuntu:/help2416_test/breath_20140726# vi breathing.c
  14. root@ubuntu:/help2416_test/breath_20140726# arm-linux-gcc breathing.c -o breathing
  15. breathing.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
  16. In file included from /Software/arm-jyxtec-linux-gnueabi/bin/../arm-jyxtec-linux-gnueabi/sysroot/usr/include/bits/fcntl.h:25,
  17.                  from /Software/arm-jyxtec-linux-gnueabi/bin/../arm-jyxtec-linux-gnueabi/sysroot/usr/include/fcntl.h:34,
  18.                  from breathing.c:3:
  19. /Software/arm-jyxtec-linux-gnueabi/bin/../arm-jyxtec-linux-gnueabi/sysroot/usr/include/sys/types.h:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'u_char'
  20. breathing.c: In function 'main':
  21. breathing.c:33: error: 'ms' undeclared (first use in this function)
  22. breathing.c:33: error: (Each undeclared identifier is reported only once
  23. breathing.c:33: error: for each function it appears in.)
  24. root@ubuntu:/help2416_test/breath_20140726#
复制代码


点评

恩,我用原装板上的环境,后来查了光盘里的内核源码,里面本身就包含了PWM, 另外我确实是PC上编译的,然后用SD卡拷贝到板上运行 需要注意的是,这段程序,编译应该不会出问题,因为只是打开文件。运行的时候  详情 回复 发表于 2014-7-27 11:49
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

15
 
本帖最后由 谷子木 于 2014-7-28 22:15 编辑

写的第一个2416程序,裸奔滴,基于Keil MDK 编译器。
  1. #include "raw_type.h"
  2. #include "2416_reg.h"


  3. void mydelay(void)
  4. {
  5.         unsigned int i=0x1ffffff;
  6.         while(--i);
  7. }



  8. void Init_LED(void)
  9. {
  10.         GPBCON_REG &=~(3<<2);
  11.         GPBCON_REG |= (2<<2);                //GPB1 ᬽóμ½ 0:êäèë   1£oêä3ö   2£oTOUT1
  12. //        GPBDAT_REG =                    //êy¾Y¼Ä′æÆ÷
  13.         GPBPU_REG  &=~(3<<2);
  14.         GPBPU_REG   = (2<<2);           //¿aÆôéÏà-
  15.         
  16.         TCFG0_REG &=~(0xff);                //Çå¼Ä′æÆ÷
  17.         TCFG0_REG |= 65;                        //PCLK/(65+1) = 1Mhz
  18.         TCFG1_REG &=~(0xF<<4);                //MUX = 1/2
  19.         
  20.         TCON_REG &=~(0X0F<<8) ;        
  21.         
  22.         TCNTB1_REG = 4000;
  23.         TCMPB1_REG = 1;
  24.         TCON_REG |= (1<<10);                //TOUT1  ·′×a
  25.         TCON_REG |= (1<<11);                //Auto Reload(·′×aÄ£ê½)
  26.         TCON_REG |= (1<<9);                        //manual updata :updata TCMPB1_REG & TCNTB1_REG        

  27.         TCNTB1_REG = 4000;
  28.         TCMPB1_REG = 1;
  29.         TCON_REG |= (1<<10);                //TOUT1  ·′×a
  30.         TCON_REG |= (1<<11);                //Auto Reload(·′×aÄ£ê½)        
  31.         TCON_REG &=~(1<<9);                        //manual updata :updata TCMPB1_REG & TCNTB1_REG        

  32.         TCON_REG |= (1<<8);                        //RUN / STOP
  33. }

  34. void LED_Run(void)
  35. {
  36.         static unsigned long count=0;
  37.         static unsigned char Flag=0;        //0:áá¶èÔö′ó   1£oáá¶è¼õD¡
  38.         if(Flag==0)
  39.         {
  40.                 count ++;
  41.                 if(count>1000) count +=3;
  42.                 if(count>=4000)
  43.                 {
  44.                         Flag=1;
  45.                         //mydelay();
  46.                 }
  47.                 TCMPB1_REG = count;
  48.         }
  49.         else if(Flag==1)
  50.         {
  51.                 count --;
  52.                 if(count>1000) count -=3;
  53.                 if(count<=5)
  54.                 {
  55.                         Flag=0;
  56.                         TCMPB1_REG = 1;        
  57.                         mydelay();
  58.                 }
  59.                 TCMPB1_REG = count;        
  60.         }
  61. }
复制代码


这是  led.c 文件代码  一个是初始化寄存器函数   一个是运行函数

main函数   超简单
  1. void Main()
  2. {
  3.         Init_LED();
  4.         while(1)
  5.         {
  6.                 LED_Run();
  7.                 mydelay1();
  8.         }

  9. }
复制代码


helper2416-led.rar

345.61 KB, 下载次数: 0

 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

16
 
本帖最后由 w545029118 于 2014-7-27 10:19 编辑

      这是最后一个作品。感谢大家的认可!

  • 最后一天的凌晨发布的,家人都睡了就没开灯,黑乎乎的不好意思了!

      下周找时间会贴一个完整攻略的,先把我的代码贴出来。

  • 下面的代码是裸机跑的,攻略里会介绍系统下跑的:

       注: 其中变亮和变暗的过程我是控制了不同的速度的,这样看起来更自然些,这是我稍微独特一点的地方。

第一部分: 汇编初始化堆栈,以便启用C代码


  1. // start entry
  2. .global _start

  3. _start:
  4.         // close watch dog
  5.         ldr r0, =0x53000000
  6.         mov r1, #0
  7.         str r1, [r0]
  8.                  
  9.         // set stack
  10.         ldr sp, =0x40010000
  11.         
  12.         // goto main
  13.         bl main
  14.         
  15. halt:
  16.         b halt        

复制代码



第二部分: 控制代码

  1. void delay( unsigned int time )
  2. {
  3.         volatile int i =time;
  4.         while(i--);
  5. }

  6. int main()
  7. {
  8.     /* watch dog */
  9.         volatile unsigned long *WTCON = (volatile unsigned long *)0x53000000;

  10.     /* GPB register */
  11.         volatile unsigned long *GPBCON = (volatile unsigned long *)0x56000010;
  12.         volatile unsigned long *GPBDAT = (volatile unsigned long *)0x56000014;
  13.         volatile unsigned long *GPBUDP = (volatile unsigned long *)0x56000018;

  14.         volatile unsigned long *TCFG0  = (volatile unsigned long *)0x51000000;
  15.         volatile unsigned long *TCFG1  = (volatile unsigned long *)0x51000004;
  16.         volatile unsigned long *TCON   = (volatile unsigned long *)0x51000008;
  17.         volatile unsigned long *TCNTB1 = (volatile unsigned long *)0x51000018;
  18.         volatile unsigned long *TCMPB1 = (volatile unsigned long *)0x5100001c;
  19.         
  20.         int freq = 0;

  21. #if 1
  22.     /* set GPB1 TOUT1 */
  23.         *GPBCON = 2 << (2*1);
  24.     /* pull-dwon enable */
  25.         *GPBUDP = 1 << (2*1);


  26.         *TCFG0  = 0XFF;        // 预分频器16        
  27.         *TCFG1  = 0x03;      // 选择16分频
  28.         *TCNTB1 = 1000;     
  29.         *TCMPB1 = freq;
  30.         *TCON   |= (1<<9);   // 手动更新
  31.         *TCON   = 0x00000d00;      // 自动加载,清“手动更新”位,启动定时器0
  32.         
  33.         while(1)
  34.         {
  35.                 /* BLN DOWN */
  36.                 for ( ; freq<950 ; )
  37.                 {
  38.                         freq+=1;
  39.                         *TCMPB1 = freq; //重新赋值

  40.             if( freq > 40 )
  41.             {
  42.                 freq +=15;
  43.                             delay(120000);        
  44.             }
  45.             else
  46.             {
  47.                             delay(180000);        
  48.             }
  49.                 }


  50.         /* BLN UP */
  51.                 for( ; freq>1 ; )
  52.                 {
  53.                         freq-=1;
  54.                         *TCMPB1 = freq;

  55.             if( freq > 40 )
  56.             {
  57.                             freq-=15;
  58.                             delay(120000);        
  59.             }
  60.             else
  61.             {
  62.                             delay(180000);        
  63.             }
  64.                 }

  65.         //delay( 1200000);

  66.         }
  67. #endif

  68.         return 0;
  69. }
复制代码



 
 
 

回复

554

帖子

0

TA的资源

版主

17
 
wuyongwang2345 发表于 2014-7-26 22:04
发现把楼主的代码拷入Linux中编译出现好多问题呢,以前都是在WIN下用KEIL等软件,现在这个都不知道 ...

sjtitr:请把源码包贴出来吧,否则坛友直接复制出来的代码可能会有字符错误。。。
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

554

帖子

0

TA的资源

版主

18
 
sjtitr 发表于 2014-7-24 12:26
第一个交作业所以第一个跟帖……

我的代码好办,就一个文件,存成.c,用linux一编译:arm-linux-gcc bre ...

sjtitr:请把源码包贴出来吧,否则坛友直接复制出来的代码可能会有字符错误。。。
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

603

帖子

1

TA的资源

纯净的硅(中级)

19
 
wuyongwang2345 发表于 2014-7-26 22:04
发现把楼主的代码拷入Linux中编译出现好多问题呢,以前都是在WIN下用KEIL等软件,现在这个都不知道 ...

恩,我用原装板上的环境,后来查了光盘里的内核源码,里面本身就包含了PWM,

另外我确实是PC上编译的,然后用SD卡拷贝到板上运行

需要注意的是,这段程序,编译应该不会出问题,因为只是打开文件。运行的时候,如果设备文件不存在,可能会运行报错的。

点评

这样的,可能论坛里的代码复制功能有问题,复制出了一些不可见字符,编译的时候遇到不可见字符就会出错,你直接打包源码上来应该就没这问题了  详情 回复 发表于 2014-7-27 12:42
希望把源码包贴出来 坛友共勉~(否则编译时真实有很多错误,谢谢) 另外请教一个问题: 如果实在pc上编译的话,然后从SD卡启动运行,这样根本就没有必要./breathing才能运行吧~,切换到从SD卡运行后S3C2416会直  详情 回复 发表于 2014-7-27 12:20
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

20
 
sjtitr 发表于 2014-7-27 11:49
恩,我用原装板上的环境,后来查了光盘里的内核源码,里面本身就包含了PWM,

另外我确实是PC上编译的 ...

希望把源码包贴出来 坛友共勉~(否则编译时真实有很多错误,谢谢)

另外请教一个问题:
如果实在pc上编译的话,然后从SD卡启动运行,这样根本就没有必要./breathing才能运行吧~,切换到从SD卡运行后S3C2416会直接运行的呀

我想问的是现在我已经和PC机搭建了NFS,那么直接通过NFS将arm-linux-gcc的编译结果和字节拷到NFS共享目录下,那么直接运行应该就可以了吧?

点评

1.已经贴出来了,查看沙发 。2.这个不是从 SD卡启动的程序,这是linux的应用,必须在Linux命令行里执行。 3.应该没有问题,只要板子可以访问到就行。  详情 回复 发表于 2014-7-27 12:26
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表