如何使用STM32F4 的CCM RAM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用STM32F4 的CCM RAM相关的知识,希望对你有一定的参考价值。

  如何使用STM32F4的DSP库
  我们平常所使用的CPU为定点CPU,意思是进行整点数值运算的CPU。当遇到形如1.1+1.1的浮点数运算时,定点CPU就遇到大难题了。对于32位单片机,利用Q化处理能发挥他本身的性能,但是精度和速度仍然不会提高很多。
  现在设计出了一个新的CPU,叫做FPU,这个芯片专门处理浮点数的运算,这样处理器就将整点数和浮点数分开来处理,整点数交由定点CPU处理而浮点数交由FPU处理。我们见到过TI的DSP,还有STM32F4系列的带有DSP功能的微控制器。前者笔者没有用过,不作评论,而后者如果需要用到FPU的浮点运算功能,必须要进行一些必要的设置。
参考技术A 您好,很高兴为您解答
找到CCM的首地址。然后从这个地址开始丢数据。不过最好不要用CCM
如果满意请采纳,谢谢!

使用具有指定 IP 地址和 OpsCenter 社区的 Cassandra CCM 的问题

【中文标题】使用具有指定 IP 地址和 OpsCenter 社区的 Cassandra CCM 的问题【英文标题】:Issues using Cassandra CCM with specified IP addresses plus OpsCenter Community 【发布时间】:2013-10-30 06:47:58 【问题描述】:

我可以很好地使用标准的自动配置版本与环回

ccm create local-cluster -v 1.2.10 -n 3

当我尝试使用真实 IP 地址以便可以连接到 VM 之外的集群时,事情变得很不稳定。这是我跑的:

ccm create local-cluster -v 1.2.10
ccm add --itf 192.168.1.20 --jmx-port 7100 -b -s -r 2000 node1
ccm add --itf 192.168.1.21 --jmx-port 7200 -b -r 2001 node2
ccm add --itf 192.168.1.22 --jmx-port 7300 -b -r 2002 node3
ccm node1 start
ccm node2 start
ccm node3 start
ccm node1 status

问题 1) 我不能使用“ccm start”。它超时。如果我独立启动每个节点,它就可以工作 问题 2) 节点不平衡 .21 拥有 87.6%,而其他两个各拥有 6.2%。另外我认为种子不正确,但是如果我在添加时尝试查看每个节点,那么我无法启动集群,因为它抱怨找不到种子节点,所以我只能在第一个使用 -s 问题 3) OpsCenter 一段时间后显示第一个,然后三个节点中的两个不可用,尽管“ccm node1 status”node2、node3 都显示它们正常且正常 问题 4) 我能够手动配置 OpsCenter 代理并进行一些摆弄,但是直到我输入“local_interface”之后它们才起作用,因此广播地址有问题。即使在看到所有代理之后,OpsCenter 仍然表现得很奇怪,抱怨节点关闭并且没有在所有图表中显示数据。使用 ccm 压力,我能够看到 i/o 和 cpu 负载,但看不到集群读取和写入,而不是延迟。以下是我配置代理的方式:

cd /usr/share/opscenter

mkdir ~/opsagent1
tar -C ~/opsagent1 -xzf agent.tar.gz
mkdir ~/opsagent2
tar -C ~/opsagent2 -xzf agent.tar.gz
mkdir ~/opsagent3
tar -C ~/opsagent3 -xzf agent.tar.gz

cd ~/opsagent1/agent
bin/setup 192.168.1.22
echo '
agent_rpc_interface: 192.168.1.20
jmx_host: 192.168.1.20
jmx_port: 7100
local_interface: 192.168.1.20
' >> conf/address.yaml
bin/opscenter-agent

cd ~/opsagent2/agent
bin/setup 192.168.1.22
echo '
agent_rpc_interface: 192.168.1.21
jmx_host: 192.168.1.21
jmx_port: 7200
local_interface: 192.168.1.21
' >> conf/address.yaml
bin/opscenter-agent

cd ~/opsagent3/agent
bin/setup 192.168.1.22
echo '
agent_rpc_interface: 192.168.1.22
jmx_host: 192.168.1.22
jmx_port: 7300
local_interface: 192.168.1.22
' >> conf/address.yaml
bin/opscenter-agent

【问题讨论】:

【参考方案1】:

您还应该在每个代理配置文件中添加以下内容:

stomp_interface:OpsCenter 用于 stomp 的 IP

除非你设置它,否则它默认为 127.0.0.1,或者它可以找出正确的 IP。如果您有多个 IP,它可能不会使用您指定的 IP。所以我会在 opscenterd.conf 中添加这个部分来手动设置它:

[stomp]
port = 61619
interface = 192.168.1.22

另外,如果你要手动添加它们,你希望它们都是种子。当您使用填充时,它会将它们全部设置为种子:https://github.com/pcmanus/ccm/blob/master/ccmlib/cluster.py#L156。

【讨论】:

我已经在 CCM 使用的 127.0.0.x 默认 IP 上轻松完成了所有这些工作,但具体问题是如何让它与其他 IP 地址一起使用。我无法从 VM 外部连接到环回 IP,因此我需要分配真实 IP。 bin/setup 调用设置了 stomp_interface IP,以便该部分正常。 根据您的回复和最新编辑更新上述答案。基本上,您传递给设置脚本的内容需要与 OpsCenter 认为的 IP 相匹配。如果您在多 IP 机器上,您可以帮助它选择它应该拥有的 IP。 @Peter Halliday 尝试使您对第 3 方帖子的编辑更加实质性。在您拥有编辑权限之前,您的所有编辑都要经过审核系统,这意味着有几个人必须花时间检查编辑,所以做这样的小改动是不好的。

以上是关于如何使用STM32F4 的CCM RAM的主要内容,如果未能解决你的问题,请参考以下文章

用 C 语言 (STM32F4) 估计剩余的可用 RAM

IAR_STM32_CCM内存使用

求助,stm32f4跑ucos+emwin5.16 gui

如何使用STM32F4的BootLoader和APP程序

如何在STM32F4中使用Backup SRAM作为EEPROM

如何设置快速 STM32 F4 FSMC 来控制 STM32F4Discovery 板上的显示?