1ãæ¾ç¤ºé误ï¼unknown field 'ioctl' specified in initializer
解å³åæ³ï¼æ¥çå
æ ¸include/linux/fs.hæ件ï¼åç°éè¾¹å®ä¹çstruct file_operationsä¸æ²¡æioctlï¼è¿éæ们ç¨.unlocked_ioctlå代ï¼å½¢åå»æ struct inode*ã
2ãå¨åºç¨ç¨åºä¸ï¼å°ioctlæ¿æ¢ä¸ºunlocked_ioctlåï¼ä¼åºç°ä»¥ä¸é误ï¼undefined reference to `unlocked_ioctl'ãå 为系ç»è°ç¨ioctlæ¯æ²¡ææ¹åçï¼è¿æ¯åæ¥çç³»ç»è°ç¨æ¥å£ï¼åªæ¯ç³»ç»è°ç¨çå®ç°ä¸ï¼ioctl()åæäºunlocked_ioctlï¼å¨åºç¨å±ä½ æ ¹æ¬ä¸ç¨å
³æ³¨å
æ ¸ä¸çè¿äºå®ç°ä¸çæ¹åï¼ä½ åªéè¦æç
§ç³»ç»è°ç¨çç¨æ³ç¨å°±å¯ä»¥äºãæ以æåºç¨ç¨åºéçunlocked_ioctlæ¹ä¸ºioctlï¼ç¼è¯ï¼OKï¼éè¿ã
3ã驱å¨ç¼è¯å®æï¼å¨å¼åæ¿ä¸insmodï¼åºç°ä»¥ä¸é误ï¼
WARNING: at lib/kobject.c:595 kobject_put+0x50/0x64()
kobject: 'æ' (cbc60a00): is not initialized, yet kobject_put() is being called.
---[ end trace da227214a82491b9 ]---
insmod: cannot insert 'led_dev.ko': Cannot allocate memory
åæ¥æ¯å¿äºåå
åç³è¯·ç代ç ï¼æ·»å kmallocåmemsetã
4ãå次insmodï¼åºç°ä¸åé误代ç ï¼
Unable to handle kernel paging request at virtual address 7f008820
pgd = cbc70000
[7f008820] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in: led_dev(+)
CPU: 0 Tainted: G W (3.0.1 #439)
PC is at led_init+0xa8/0x108 [led_dev]
LR is at kobj_map+0x144/0x154
pc : [<bf0020a8>] lr : [<c0246e70>] psr: 60000013
sp : cbc6bf10 ip : cbc6beb0 fp : cbc6bf24
r10: 00000000 r9 : bf002000 r8 : cbc6a000
r7 : 00000000 r6 : bf0002bc r5 : 00000000 r4 : 00000000
r3 : 00000000 r2 : 00000000 r1 : 7f008000 r0 : 00000000
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 00c5387d Table: 5bc70008 DAC: 00000015
Process insmod (pid: 112, stack limit = 0xcbc6a268)
Stack: (0xcbc6bf10 to 0xcbc6c000)
bf00: 00000000 c07463c0 cbc6bf7c cbc6bf28
bf20: c00343c8 bf00200c cbc6bf64 cbc6bf38 c0073e24 00000000 00000000 00000000
bf40: 00000000 0000ef52 000d5bf9 bf0002bc 00000000 0000ef52 000d5bf9 bf0002bc
bf60: 00000000 c0034ce8 cbc6a000 00000000 cbc6bfa4 cbc6bf80 c0085960 c0034398
bf80: c00e8738 c00e8610 402004a8 000dfcf8 00000000 00000080 00000000 cbc6bfa8
bfa0: c0034b40 c00858e0 402004a8 000dfcf8 00b5d038 0000ef52 000d5bf9 ffff5f01
bfc0: 402004a8 000dfcf8 00000000 00000080 00000069 00000001 be9c2e64 be9c2e68
bfe0: be9c2e68 be9c2b14 00021cfc 402c1d74 60000010 00b5d038 5fffe821 5fffec21
[<bf0020a8>] (led_init+0xa8/0x108 [led_dev]) from [<c00343c8>] (do_one_initcall+0x3c/0x188)
[<c00343c8>] (do_one_initcall+0x3c/0x188) from [<c0085960>] (sys_init_module+0x8c/0x1a4)
[<c0085960>] (sys_init_module+0x8c/0x1a4) from [<c0034b40>] (ret_fast_syscall+0x0/0x30)
Code: e59f0060 eb52980e ea00000b e59f1058 (e5910820)
---[ end trace da227214a82491b9 ]---
Segmentation fault
æåæ¯åç§ç¾åº¦ï¼åç§è°·æï¼åèå«äººç驱å¨ï¼åç°å®ä»¬çå¼åæ¿ç¡¬ä»¶å°å并ä¸æ¯èªå·±åç头æ件ï¼èæ¯è°ç¨machä¸å·²ç»å®ä¹å¥½ç头æ件ï¼å¥½å§ï¼å¯»æ¾ç¸åºå¼åæ¿ï¼ç¸åºç«¯å£çå°å头æ件ï¼å¨é©±å¨æ件ä¸æ·»å 以ä¸å¤´æ件ï¼
#include <mach/map.h>
#include <mach/regs-gpio.h>
#include <mach/gpio-bank-m.h>
Okï¼æå®æ¶å·¥ï¼å¼åæ¿ï¼æµè¯ãè¿è¡æ é»ãå®æã
5ãå¨åå°DS18B20温度æµè¯æ¨¡å驱å¨çæ¶åï¼çå°ç½ä¸ç代ç æäºå½æ°å¯ä»¥ç´æ¥å¯¹å¼èçåè½è¿è¡è®¾ç½®ï¼æ¯å¦ï¼s3c2410_gpio_cfgpin(DQ_PIN, DQ_PIN_OUTP); ä½æ¯å¯¹åºäºæçs3c6410çå¼åæ¿å°±ä¸ç¥éç¨ä»ä¹å½æ°äºï¼ç½ä¸æ¾äºå天ï¼åç°ä»¥ä¸å½æ°æ¯å¨#include <plat/gpio-cfg.h>ä¸ï¼6410ä¸å¯¹åºçå½æ°ä¸ºï¼extern int s3c_gpio_cfgpin(unsigned int pin, unsigned int to);
6ãæè¿å¦ä¹ 移æ¤linuxå
æ ¸ï¼ç§»æ¤äºæ°çlinuxå
æ ¸ä»¥åæè½½äºæ°çNFSä¹åï¼ éæ°æµè¯led驱å¨ï¼åç°å®è£
模å以åï¼è¿è¡æµè¯ç¨åºä¼åºç°ä»¥ä¸é误ï¼
-/bin/sh: ./main: not foundï¼main为主æºä¸ç¼è¯å¥½çæµè¯ç¨åºï¼
åå ï¼
ç¼è¯busyboxçæ¶åéæ©äºéæç¼è¯ï¼
Build Optionsï¼>
Build BusyBox as a static binary (no shared libs)
Build with Large File Support (for accessing file>2GB)
å¦æéæ© Build BusyBox as a static binary (no shared libs) æ¹å¼è¿è¡ç¼è¯æ¶ï¼æéçåºå·²ç»ä¸ç¨åºéæå°é¾æ¥å¨ä¸èµ·ï¼è¿äºç¨åºä¸éè¦é¢å¤çåºå°±å¯ä»¥åç¬è¿è¡ï¼ä½æ¯èªå·±ç¼åçç¨åºå¨æ件系ç»ä¸è¿è¡å¿
é¡»éç¨éæç¼è¯ï¼å¦åä¼æ¥è¯¸å¦ï¼bin/sh: main :not foundçé误ã
éæç¼è¯å¦ï¼
arm-linux-gcc âstatic main.c âo main
7.æç
§æ®éæ¹æ³å®è£
é
ç½®tftpï¼å¹¶ä¸å
³éäºé²ç«å¢ï¼ä½æ¯å¨å¼åæ¿ä¸tftp主æºï¼æ»ä¼æ¥éï¼
tftp: server error: (0) Permission denied
解å³åæ³ï¼
ä¿®æ¹æ件 /etc/sysconfig/selinuxï¼è®¾å®å
¶ä¸ç
SELINUX=disabled
ç¶åéå¯çµèå³å¯
温馨提示:答案为网友推荐,仅供参考