主题 : Tiny4412用戶手冊中4.7.2的LED測試程序---有問題! 复制链接 | 浏览器收藏 | 打印
新手上路,請多包涵! 要是問什麼笨問題,請大家見諒!
级别: 新手上路
UID: 103928
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2014-05-09
最后登录: 2018-08-22
楼主  发表于: 2014-05-26 17:59

 Tiny4412用戶手冊中4.7.2的LED測試程序---有問題!

我在執行Tiny4412用戶手冊中4.7.2的LED測試程序有點問題,我的步驟如下:

(1)在ubuntu下撰寫4.7.2 LED測試程序,並利用arm-linux-gcc編譯
(2)Tiny4412也已經燒錄了Linux image, 並且在win7 64bit OS上面利用putty透過UART連接到板子上
(3)把步驟1編譯出來的執行檔,複製到板子上,有複製到正確的目錄,並且執行chmod 777 變更檔案使用權限
(4)執行檔案後發現毫無反應

程式碼中有一段fd = open("/dev/leds0", 0);
經過檢查後,發現操作系統中的/dev目錄下,只有 leds, 沒有leds0   (意思就是只會看到/dev/leds, 卻沒有/dev/leds0, 我也有寫了簡單的hello world程式來驗證先前的執行流程和步驟,hello world是可以正確顯示出來的

所以................
1. 這個LED測試程序有修正的版本嗎?
2. 這是在Linux下,利用open file的方式來對LED做控制,是否有其他的程式佔用了/dev/leds ? 如果有,要如何解除這些佔用的程式?




自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2014-05-27 07:58
led开头的文件就可以了,因为内核版本的变更,可能设备文件命名方式有所不同。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
新手上路,請多包涵! 要是問什麼笨問題,請大家見諒!
级别: 新手上路
UID: 103928
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2014-05-09
最后登录: 2018-08-22
2楼  发表于: 2014-05-27 10:07
謝謝mindee您的回覆,問題我已經解決了

我在論壇上找到了Tiny6410的LED 範例程式原始碼,另外也在 "Tiny6410 Linux開發指南"中的1.9.2 LED測試程序裡找到一樣的內容,我更正了兩個部份

1. 我自己程式碼的typo,有些打錯字的地方
return少打了個0, sscanf少打了一個s,gcc編譯也是會通過的~~

2. 比對了led的原始程式碼和開發文件上的內容,發現前面header file宣告的內容不太一樣
原始程式碼的#include內容為....
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

而4412和6410的pdf文件內的LED測試程序的#include內容為
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
所以我就在自己的led程式碼裡,把這些header file給補齊了

3. 我發現Tiny 6410提供的example裡面,Makefile裡的gcc編譯參數多加了 -Wall和 -O2. 這部份只是顯示所有的警告訊息和做編譯最佳化, 我認為這應該不影響程式執行時的正確性
级别: 侠客
UID: 113147
精华: 0
发帖: 107
金钱: 535 两
威望: 107 点
综合积分: 214 分
注册时间: 2015-03-05
最后登录: 2015-09-16
3楼  发表于: 2015-04-09 23:36

 回 2楼(lukeho) 的帖子

請問一下,我用ADB下載到板子後,變成無法更改權限,請問你式下載到哪個目錄?