打印
[技术问答]

关于《使用VS code搭建AC781x开发环境》文档的疑问

[复制链接]
1165|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
code, AC, ce, ARM, ev
本帖最后由 渔夫的烟斗 于 2020-12-15 19:45 编辑

直接用vscode打开官方例程,进行make指令,错误如下:
PS I:\desktop_cpy\ac7811\develop_tool_demo20200711(AC781x)\develop_tool_demo20200711\VSCode_Demo> make
process_begin: CreateProcess(NULL, printf "  AS      Device/Source/ARM/startup_ac78xx.s\n", ...) failed.
make (e=2): 系统找不到指定的文件。
make: *** [makefile:115: Device/Source/ARM/startup_ac78xx.o] Error 2
arm-none-eabi-gcc的路径已在JSON进行更改。



另附官方说明,望能帮忙解决。
[size=13.3333px](MDK公司不让用。。。)


以下为12/14更新
[size=13.3333px]

[size=13.3333px]用git_bash 进行make,提示如下:
[size=13.3333px]
[size=13.3333px]
在vs code下进行make,提示如下:

make版本


arm-none-eabi-gcc版本





以下为12/15更新
解决方法
  • 屏蔽makefile文件中与printf 相关的语句
  • printf替换成echo

(公司的电脑就不会这样,根本问题还未找出)


!附上工程,待有心人检验

make_by_git_bash.jpg (52.25 KB )

git bash

git bash

使用VS code搭建AC78xx开发环境.pdf

1.09 MB

官方文档

develop_tool_demo20200711(AC781x).rar

4.79 MB

官方例程,最后一个有做修改

使用特权

评论回复

相关帖子

沙发
chenqianqian| | 2020-12-11 08:09 | 只看该作者
最终解决了吗,

使用特权

评论回复
板凳
渔夫的烟斗|  楼主 | 2020-12-11 08:28 | 只看该作者

没哟,等官方的人来解决一下

使用特权

评论回复
地板
JasonLee27| | 2020-12-11 15:37 | 只看该作者
渔夫的烟斗 发表于 2020-12-11 08:28
没哟,等官方的人来解决一下

应该是启动文件没参与编译或者没生成.o文件,可以先看下是否是后缀大小写的问题

使用特权

评论回复
5
里面有晴雨| | 2020-12-11 18:03 | 只看该作者
最终问题解决了吗?

使用特权

评论回复
6
渔夫的烟斗|  楼主 | 2020-12-11 18:51 | 只看该作者
JasonLee27 发表于 2020-12-11 15:37
应该是启动文件没参与编译或者没生成.o文件,可以先看下是否是后缀大小写的问题 ...

那有错是以哪个为准?makefile还是文件自身的后缀?

使用特权

评论回复
7
渔夫的烟斗|  楼主 | 2020-12-11 18:53 | 只看该作者
JasonLee27 发表于 2020-12-11 15:37
应该是启动文件没参与编译或者没生成.o文件,可以先看下是否是后缀大小写的问题 ...

后缀都是正常的

使用特权

评论回复
8
JasonLee27| | 2020-12-14 14:38 | 只看该作者

C:\Users\ATC6180\Desktop\AC781x资料\例程\develop_tool_demo20200711\VSCode_Demo>make
  AS      Device/Source/ARM/startup_ac78xx.s
  CC      Device/Source/ac78xx_ckgen.c
  CC      Device/Source/ac78xx_spm.c
  CC      Device/Source/system_ac78xx.c
Device/Source/system_ac78xx.c: In function 'SysStandby':
Device/Source/system_ac78xx.c:459:5: warning: implicit declaration of function 'asm' [-Wimplicit-function-declaration]
     asm("WFI");
     ^~~
  CC      Device/Source/ac78xx_debugout.c
Device/Source/ac78xx_debugout.c: In function 'InitDebug':
Device/Source/ac78xx_debugout.c:153:5: warning: implicit declaration of function 'GPIO_SetFunc'; did you mean 'UART_SetFrac'? [-Wimplicit-function-declaration]
     GPIO_SetFunc(49, 1);
     ^~~~~~~~~~~~
     UART_SetFrac
In file included from ./Drivers/UART/ac78xx_uart.h:40:0,
                 from Device/Source/ac78xx_debugout.c:84:
Device/Source/ac78xx_debugout.c: At top level:
./Drivers/UART/ac78xx_uart_reg.h:1122:22: warning: 'UART_SetFrac' declared 'static' but never defined [-Wunused-function]
__STATIC_INLINE void UART_SetFrac(UART_Type *UARTx, uint8_t uartFracL, uint8_t uartFracM);
                      ^~~~~~~~~~~~
Device/Source/ac78xx_debugout.c: In function 'debug_putchar':
Device/Source/ac78xx_debugout.c:104:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
  CC      Device/Source/syscalls.c
  CC      Drivers/DMA/ac78xx_dma.c
  CC      Drivers/GPIO/ac78xx_gpio.c
  CC      Drivers/TIMER/ac78xx_timer.c
  CC      Drivers/UART/ac78xx_uart.c
In file included from Drivers/UART/ac78xx_uart.c:40:0:
Drivers/UART/ac78xx_uart_reg.h:1122:22: warning: 'UART_SetFrac' declared 'static' but never defined [-Wunused-function]
__STATIC_INLINE void UART_SetFrac(UART_Type *UARTx, uint8_t uartFracL, uint8_t uartFracM);
                      ^~~~~~~~~~~~
  CC      Drivers/WDG/ac78xx_wdg.c
  CC      App/main.c
In file included from ./Drivers/UART/ac78xx_uart.h:40:0,
                 from App/main.c:50:
./Drivers/UART/ac78xx_uart_reg.h:1122:22: warning: 'UART_SetFrac' declared 'static' but never defined [-Wunused-function]
__STATIC_INLINE void UART_SetFrac(UART_Type *UARTx, uint8_t uartFracL, uint8_t uartFracM);
                      ^~~~~~~~~~~~
In file included from App/main.c:49:0:
./Drivers/TIMER/ac78xx_timer.h:57:27: warning: 's_timerCallback' defined but not used [-Wunused-variable]
static TIMER_CallbackType s_timerCallback[8] = {(TIMER_CallbackType)NULL};
                           ^~~~~~~~~~~~~~~
  LD      DEMO.elf
  OBJCOPY DEMO.bin
  OBJCOPY DEMO.hex

C:\Users\ATC6180\Desktop\AC781x资料\例程\develop_tool_demo20200711\VSCode_Demo>


你从官网下的例程,如果你已经有了gcc和make的环境,直接cmd命令行执行make,应该是可以编译成功的

使用特权

评论回复
9
渔夫的烟斗|  楼主 | 2020-12-14 21:13 | 只看该作者
JasonLee27 发表于 2020-12-14 14:38
你从官网下的例程,如果你已经有了gcc和make的环境,直接cmd命令行执行make,应该是可以编译成功的 ...

抱歉,确实是不成功的。

使用特权

评论回复
10
jiangyongabc| | 2020-12-16 07:55 | 只看该作者
可以用VS直接开发?

使用特权

评论回复
11
JasonLee27| | 2020-12-17 09:47 | 只看该作者
你修改了哪些部分后可以正常编译的?

使用特权

评论回复
12
nullptr| | 2021-1-20 22:12 | 只看该作者
VS code 上有插件的,比如 eide , 只需要设置一下编译器路径就可以开始了,支持 armcc, gcc 等
这是华大的 HC32L110 的一个例子,可以利用 cortex-debug 插件在上面调试


debug.png (227.44 KB )

调试

调试

使用特权

评论回复
评论
nullptr 2021-1-20 22:18 回复TA
嫌自己配 makefile 太麻烦的,可以用这个插件; 如果要直接打开 keil 项目,可以用 keil-assistant; 这样就能体验到 vscode 强大的编辑功能了 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

178

帖子

2

粉丝