This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM1705:使用回显命令访问 GPIO。

Guru**** 2609955 points
Other Parts Discussed in Thread: AM1705

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/655805/linux-am1705-gpio-accessing-using-echo-command

器件型号:AM1705

工具/软件:Linux

您好!
由于缺乏响应、我再次提出这个问题、并进行了一些修改。

我制作了一个在 AM1705处理器上运行的定制板。 到目前为止一切都正常。 我遇到的唯一问题是与外部接口有关的问题、例如操作系统级别的 UART、以太网和 SD 卡。 我使用闪存从"Arago Projects"中加载操作系统、ramdisk 文件(DaVinci-PSP-SDK-03.20.00.14)和 uImage (Linux "2.6.33")


有人能解释为什么我不能使 GPIO 引脚在回声过程中具有第二个功能的是 UART (UART2_TX=GP5[13]、UART1_TX=GP3[10])高电平还是低电平吗?

以下步骤我将使用 ATM。
对于 GPIO 编号,我使用公式->GPIO_NO=(port_no*16)+PIN_NO

对于 UART1_TX=gpio93、UART2_TX=gpio58

示例:
Echo 93 >/sys/class/gpio/export

echo "out">/sys/class/gpio/gpio93/direction

Echo 1 >/sys/class/gpio/gpio93/value

输入此命令后、我对该值进行范围控制、但引脚保持不变

echo 0 >/sys/class/gpio/gpio93/value

输入此命令后、我会对该值进行范围控制、但引脚仍保持不变。

两个 UART_TX 引脚都不会更改其状态、而是通过/dev/ttyS2传输的数据正常工作。 但是、使用这些命令、其他 GPIO 引脚会正确地更改其状态。

SD 卡问题仍然无法解决。 此外 、我按照 TI 支持人员的建议、完成了 SD 卡到 ramdisk 文件的一些安装过程、所有这些过程都一直停留在某个阶段、因为/root/media/MSDC 中没有 SDCARD 的/root/dev/sdX 节点文件和文件目录(我的 SD 卡标签是 MSDC)、 因此、我不确定如何访问它(连接到 MMC 端口)。 有一个节点文件名 mmcblk0 (可在互联网上找到用于访问 sdcard)、我尝试将它们装入 ramdisk 文件、但在特定级别的进程中、所有这些文件都失败。

请完成我尝试过的这些过程。

通过任何 Linux PC /home/user1/temp_prcoess/mnt/sdcard.创建文件夹后
$ sudo mount /home/user1/temp_prcoess/dev/mmcblk0 /home/user1/temp_prcoess/mnt/sdcard
错误:mount:/home/user1/temp_prcoess/dev/mmcblk0不是有效的块设备
我尝试了将 mmcblk0p1全部分区为 mmcblk0p7。

在我的项目板的 OS /mnt/sdcard.上创建文件夹后
$sudo 装载/dev/mmcblk0 /mnt/sdcard
错误:mount:在/mnt/sdcard 上装载/dev/mmcblk0失败:无此类设备或地址
但存在所有 mmcblk 文件

您能不能帮助我进行进一步处理的任何网络链接、也可以下载默认情况下所有内容都存在的文件、这样我就不必完成所有这些复杂的步骤了。

此外、RAM 磁盘的主要缺点之一是它只能临时保存数据、也就是说、如果发生电源故障或关闭或重新启动计算机、RAM 磁盘的数据将丢失、 永久。(我没有任何备用电源或电源管理机制)。 因此、每当我对任何文件进行任何更改时、我都会浏览一些联机文档文件、以将数据存储到闪存驱动器中、但很遗憾、这些过程也会在某个时候卡住。

例如:

流程1:

$sudo mkdir /mnt/RAM_disk_backup
$sudo setfacl -m user:user1:rwx /mnt/RAM_disk_backup
$sudo gedit /lib/systemd/system/ram_disk_load_save.service (打开文本编辑器)

/**将下面的整个代码复制到文本编辑器中并保存**/

 [单位]
Description=保存和恢复 RAM 磁盘上数据的脚本

在此之前=umount.target
[服务]

type=OneShot
USER=USR1
ExecStart=/usr/bin/rsync -ar /mnt/RAM_disk_backup /mnt/RAM_disk
ExecStop=/usr/bin/rsync -ar /mnt/RAM_disk /mnt/RAM_disk_backup
RemainAfterExit=yes

[安装]
WantedBy=多用户目标

$crontab -e
/**然后向下滚动(使用键盘上的向下箭头),在新行上复制并粘贴以下代码**/
//***** rsync -ar /mnt/RAM_disk /mnt/RAM_disk_backup
按 Ctrl + O[按 Enter 键]
按 Ctrl + X[按 Enter 键]

此过程中的问题是/lib/下没有文件夹名"systemd"(请检查屏幕截图)。 因此、我无法完成第三个过程(无法保存文本编辑器)。 此外、由于/usr/bin 下没有名为"rsync "的文件夹(请查看屏幕截图)、我确信即使在解决了上一个问题后、我也会遇到此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Aatif、

    很抱歉、这是一个非常旧的 SDK、TI 不再提供支持。 也许有一些直接经验的人会听到一些有用的提示或建议。