Skip to content

Conversation

@mysterywolf
Copy link
Member

@mysterywolf mysterywolf commented Dec 28, 2020

拉取/合并请求描述:(PR description)

[
汇编代码质量有保证,这个是Silicon即uCOS母公司的代码,在uCOS上已经用了十多年,Apache2.0
我之前也研究过这份代码,用汇编加速rt_memcpy函数的主要原因并不是因为汇编本身比c语言快,而是在ARM指令中有一个 LDMIA STMIA指令,通过这两条指令,一次就可以读取/写入40个字节,极大的加速了拷贝过程。已经适配了KEIL GCC IAR三个平台。汇编代码内部考虑到了地址非四字节对齐的情况
通过scons脚本,可以自动判断,如果CPU是Cortex-M3就使用汇编版本,如果CPU不是M3则使用C语言版本
]

以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。
The following content must not be changed in the submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use a web browser to visit PR, and check items one by one, and ticked them if no problem.

当前拉取/合并请求的状态 Intent for your PR

必须选择一项 Choose one (Mandatory):

  • 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
  • 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo

代码质量 Code Quality:

我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:

  • 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
  • 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
  • 没有垃圾代码,代码尽量精简,不包含#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up
  • 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
  • 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
  • 本拉取/合并请求代码是高质量的 Code in this PR is of high quality

@liuduanfei
Copy link
Contributor

liuduanfei commented Dec 28, 2020 via email

@mysterywolf
Copy link
Member Author

过两天提交 我先用m3试试水 把框架搭出来

@dongly
Copy link
Contributor

dongly commented Dec 28, 2020

现在是在 rt_memcpy 中 调用 rt_memcpy_asm 函数,是否可直接替换掉这个函数?这样不是可以少一个调用吗?

@mysterywolf
Copy link
Member Author

现在是在 rt_memcpy 中 调用 rt_memcpy_asm 函数,是否可直接替换掉这个函数?这样不是可以少一个调用吗?

不可以,这个问题我刚开始就是这么实现的,我的倒数第一个大红叉就是这么来的。

@BernardXiong
Copy link
Member

Please provide the rt_memcpy vs asm_memcpy vs memcpy (builtin with toolchains).

@mysterywolf mysterywolf deleted the asm_memcpy_m3 branch December 30, 2020 09:43
@mysterywolf mysterywolf restored the asm_memcpy_m3 branch January 22, 2021 01:08
@mysterywolf mysterywolf deleted the asm_memcpy_m3 branch January 22, 2021 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants