【BB-Black测试】 + 裸奔ING

2019-07-27 16:22发布

本帖最后由 le062 于 2014-9-19 23:37 编辑

硬件连接方法:
【BB-Black测试】+ JTAG裸奔

索引
流水灯
PRU核的使用
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
le062
2019-07-27 19:44
本帖最后由 le062 于 2014-9-17 23:57 编辑

    在AM335X_StarterWare_02_00_01_01中就有一个操作LED的demo,不过它的工程是使用了预编译好的几个底层库,如下: 图片1.jpg

    下面,将重建一个工程,把这几个库中源码导入,一起编译,实现一个流水灯。
    建立新工程后,将上图中几个例程的源码导入,在main函数中简单调用gpio的操作函数,编译,发现drivers下几个c文件编译失败,可以将这几个文件注释掉(暂时用不到);还有在system下的汇编文件有几条关于NEON的指令报错,这儿需要将编译选项中的--neon勾选,重新编译通过。
    在调试过程中遇到过几种问题:    1:调试器无法链接,这个问题一般通过调试器配置页面下的TEST CONNECTION进行连接测试    2:我们跑的程序默认需要加载到ddr中运行,所以需要通过一个脚本进行相关初始化。需要如下配置a8核,至于m3核,直接bypassed。 图片2.jpg
    3:在脚本运行完成后报如下错误: 图片3.jpg
    这个具体原因不清楚,解决方法是不要让bbb在上电时进入linux,比如在uboot中stop autoboot。
    然后,基本上就可以跑起来了,当然整个过程相对于一般单片机繁琐了很多。
    Main.c代码 和st的差不多吧。
  1. #include "soc_AM335x.h"
  2. #include "beaglebone.h"
  3. #include "gpio_v2.h"

  4. #define GPIO_INSTANCE_ADDRESS           (SOC_GPIO_1_REGS)
  5. #define GPIO_INSTANCE_PIN_NUMBER        (23)

  6. static void Delay(volatile unsigned int count)
  7. {
  8.     while(count--);
  9. }

  10. int main()
  11. {
  12.     GPIO1ModuleClkConfig();
  13.     GPIOModuleEnable(GPIO_INSTANCE_ADDRESS);
  14.     GPIOModuleReset(GPIO_INSTANCE_ADDRESS);
  15.     GPIODirModeSet(GPIO_INSTANCE_ADDRESS,
  16.                    GPIO_INSTANCE_PIN_NUMBER,
  17.                    GPIO_DIR_OUTPUT);
  18.     GPIODirModeSet(GPIO_INSTANCE_ADDRESS,
  19.                    21,
  20.                    GPIO_DIR_OUTPUT);
  21.     GPIODirModeSet(GPIO_INSTANCE_ADDRESS,
  22.                    22,
  23.                    GPIO_DIR_OUTPUT);
  24.     GPIODirModeSet(GPIO_INSTANCE_ADDRESS,
  25.                    24,
  26.                    GPIO_DIR_OUTPUT);
  27.     while(1)
  28.     {

  29.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  30.                      24,
  31.                      GPIO_PIN_LOW);
  32.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  33.                      21,
  34.                      GPIO_PIN_HIGH);
  35.         Delay(0x7FFFF);

  36.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  37.                      21,
  38.                      GPIO_PIN_LOW);
  39.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  40.                      22,
  41.                      GPIO_PIN_HIGH);
  42.         Delay(0x7FFFF);

  43.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  44.                      22,
  45.                      GPIO_PIN_LOW);
  46.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  47.                      23,
  48.                      GPIO_PIN_HIGH);
  49.         Delay(0x7FFFF);

  50.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  51.                      23,
  52.                      GPIO_PIN_LOW);
  53.         GPIOPinWrite(GPIO_INSTANCE_ADDRESS,
  54.                      24,
  55.                      GPIO_PIN_HIGH);
  56.         Delay(0x7FFFF);
  57.     }

  58. }
复制代码

附件:工程包,a8初始化脚本(注意工程中位置),两份不错的参考资料
脚本.rar (7.71 KB, 下载次数: 35) 2014-9-17 23:51 上传 点击文件名下载附件
工程包.rar (842.4 KB, 下载次数: 48) 2014-9-17 23:51 上传 点击文件名下载附件
Jlink在starterware调试中的应用.pdf (1.47 MB, 下载次数: 56) 2014-9-17 23:51 上传 点击文件名下载附件
(分享)使用CCS5下载调试StarterWare例程代码的方法.pdf (637.37 KB, 下载次数: 57) 2014-9-17 23:51 上传 点击文件名下载附件


一周热门 更多>