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:连接 AM1705并存储 RAMDISK 文件的外部器件

Guru**** 2609955 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/654730/linux-am1705-external-device-interfacing-with-am1705-and-storing-ramdisk-file

器件型号:AM1705

工具/软件:Linux

您好!

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

UART 问题已解决、因为我注意到/dev/dev 文件夹中没有 UART 的任何节点、但 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 "的文件夹(请查看屏幕截图)、我确信即使在解决了上一个问题后、我也会遇到此问题。

/cfs-file/__key/communityserver-discussions-components-files/791/3568.Screenshot-from-2018_2D00_01_2D00_06-12_2D00_54_2D00_17.png

/cfs-file/__key/communityserver-discussions-components-files/791/1007.Screenshot-from-2018_2D00_01_2D00_06-12_2D00_16_2D00_17.png

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

    团队将收到通知。 他们将直接在此处发布反馈。

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

    请尽快帮助我、我的时间和可能性即将用完。

    另外,您能否解释一下为什么我无法通过回显过程使第二个功能为 UART (UART2_TX=GP5[13]、UART1_TX=GP3[10])高电平或低电平的 GPIO 引脚成为高电平?

    以下步骤我将使用 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 引脚会正确地更改其状态。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是重复的帖子。 这是一个非常旧的 SDK、不再受 TI 支持。 请参阅中的详细信息
    e2e.ti.com/.../2411171