|
本帖最后由 Willian.Mo 于 2015-7-7 15:45 编辑
MYS-SAM9X5的J5拓展口处理PC31管脚,其他复用成了tsadc或ethernet功能,要将这些管脚用作普通GPIO功能,需要修改内核。
这里将复用成ethernet功能管脚用作普通GPIO:
1. 修改内核Linux-2.6.39/arch/arm/ mach-at91/board-sam9x5ek.c文件的409行,禁用eth0功能,修改后如下:
[mw_shl_code=bash,true] /* Ethernet */
// at91_add_device_eth(0, &ek_macb0_data);
at91_add_device_eth(1, &ek_macb1_data);[/mw_shl_code]
2. 重新编译内核 :
[mw_shl_code=bash,true]$ ./make_image.sh 4.3 [/mw_shl_code]
3. 烧写新的内核镜像。
4. GPIO测试:
[mw_shl_code=bash,true]测试PB7,计算gpio标号为:2x32+7 = 71.
# cd /sys/class/gpio/
导出GPIO71:
# echo 71 > export
设置GPIO71为输出:
# echo "out" > gpio71/direction
GPIO71输出高电平:
# echo 1 > gpio71/value
GPIO71输出低电平:
# echo 0 > gpio71/value
释放GPIO71
# echo 71 > unexport[/mw_shl_code]
注意:Ateml SAM9X5的ADC复用GPIO电压范围与普通的GPIO有些不同,如下图所示:
|
|