小编cDr*_*mer的帖子

gitlab-runner 或 Docker 是否默认缓存 /builds 目录?

我在 MacBook Pro 上使用 gitlab-runner 和 Docker。我使用 gitlab.com 来托管我的 git 存储库。我已经配置了一个存储库,以便每当提交被推送到存储库时就执行管道。该管道有两个任务:显示一些信息,以及克隆一个单独的存储库作为依赖项。

这是第一个作业的输出:

Running with gitlab-runner 12.2.0 (a987417a)
  on old_gen_runner 6fsjs96e
Using Docker executor with image gcc-arm_4_7-2013q3:3.0 ...
Using docker image sha256:5d4741a428654beb44a3c004822e4d2ceededc88f22ec1ec7f45dedf707a0302 for gcc-arm_4_7-2013q3:3.0 ...
Running on runner-6fsjs96e-project-13664495-concurrent-0 via my_laptop.local...
Fetching changes with git depth set to 50...
Initialized empty Git repository in /builds/staging-fw/my-project/.git/
Created fresh repository.
From https://gitlab.com/staging-fw/my-project
 * [new branch]      master     -> origin/master
Checking out 722c2c38 as master...

Skipping Git submodules setup
$ python /scripts/info.py
Printing job info...

Builds …
Run Code Online (Sandbox Code Playgroud)

git gitlab docker gitlab-ci-runner

5
推荐指数
1
解决办法
6076
查看次数

如何从 Newlib 在 GCC 中实现 printf?

我正在努力使用 GCC 将 printf 从 newlib 正确实现到我的 esp32 中。

我已经阅读了 newlib 文档,它为我提供了有关如何调用 printf 的一般信息,但没有向我解释后端实现。

根据我当前的研究,我确定 printf 将格式化字符串输出到 STDOUT。在 PC 上,这对我来说更容易理解,因为有一个控制台窗口可以显示 printf 的格式化输出,但是在嵌入式系统上,我知道您必须告诉库将 printf 的格式化输出重定向到哪里,这就是我正在想办法。

再次,根据我的研究,我了解到需要一些功能来完成此任务,特别是功能_write

我发现如何弥合 printf 和使用该_write函数之间的差距非常困难。我希望这里有人能帮助我理解如何正确实现 printf。

如果我错过了一些清楚解释这一点的文档,那么请将我重定向到该文档。我尝试阅读 newlib 文档以及 GCC 相关文档,但没有真正提到如何使用 printf,但是有大量关于如何调用 printf 和格式化字符串的文档,但这部分很简单。我需要知道如何从 MCU 的 STDOUT 获取格式化字符串。

谢谢大家!

c embedded printf gcc newlib

4
推荐指数
1
解决办法
5443
查看次数

在 ARM Cortex-M、MSP 或 PSP 中使用哪个堆栈退出复位?

我一直在阅读 ARM 信息中心的各个部分以尝试找到我的答案,但是我发现文档让我感到困惑,所以我希望这里有人可以提供帮助。

我知道 Cortex-M 处理器中有两个堆栈:

  • MSP(主堆栈指针)
  • PSP(进程堆栈指针)

我试图弄清楚 ARM 内核如何使用每一个。

ARM 信息中心中讨论 Cortex-M3 时的文档说明如下:

主堆栈在复位时使用,并且始终在处理程序模式下使用(进入异常处理程序时)。进程堆栈指针仅在线程模式下可用作当前堆栈指针。

好的,这告诉我 MSP 在重置时使用。但是,文档还说明了以下内容:

线程模式

用于执行应用软件。处理器退出复位后进入线程模式。

处理程序模式

用于处理异常。处理器在完成所有异常处理后返回线程模式。

好吧,这就是让我困惑的地方。如果在复位时使用MSP,并且总是在Handler模​​式下使用,而PSP在线程模式下使用,那么如果处理器在复位时处于线程模式,如何在复位时使用MSP?

arm cortex-m stack-pointer

2
推荐指数
1
解决办法
2001
查看次数

标签 统计

arm ×1

c ×1

cortex-m ×1

docker ×1

embedded ×1

gcc ×1

git ×1

gitlab ×1

gitlab-ci-runner ×1

newlib ×1

printf ×1

stack-pointer ×1