由于本人有一年的时间在学习FPGA方面的知识,所以对定义变量和定义数组有种恐惧感。总是担心定义一个大数组就会占用大部分的资源了,但基本上不会出现这个问题的。
在学习FPGA时,教程上也一直叮嘱,注意资源的使用,注意资源的使用!可在实际的使用的过程中也没有出现过这样的问题,原因应该是:
1.使用的FPGA的芯片的资源够多
2.代码量不够。因为在实际使用过程中,大部分人会选择资源多的芯片。而在大多数行业对产品的成本并不明感。
当然带来的好处更多.
1.了解了更底层的原理。
2.虽然对资源有些扣扣索索了,但是更注重优化结构了
3.在工作中,遇到FPGA方面的编程更自信了
4.寻找到了*的片子了。如同C语言一样的*。
================================以上是FPGA给我带来的变量资源思维,可能不全。==============================================================================
当然,使用STM32的片子更多一些。所以在FPGA和STM32的思维转化过程中,出现了很多的问题。其中之一是在STM32上定义大变量和定义大数组,心里特别排斥和心慌。同时也会影响后期的编程
但仔细想想在STM32上基本上不会出现这样的问题的。
举个例子
uint32_t a[3000];
4*3000/1024 = 11.72K.
在实际工程中,定义这样的数组,是完全可以的。但能遇到这样的定义基本上少之又少,却被我遇到过一次。使用的片子是stm32F103vc->完全没有问题.
而工作过程中,基本上使用的都是 uint16_t 类型的变量。 定义得数据也不会有3000个。
如果程序中有很多单一的变量,但总的算下来也不会有3000个吧。