C 编译器初始化 flash 数据

时间:2021-06-24 15:32:07

标签: gcc arm c99

我有一些数据存储在闪存中。此数据必须封装在单个文件中,因此它是静态的。

static const int my_array[1024];
static const int my_example[] = { -1, -1, -1};

第一行做了我需要的一切,除了为这个数组的每个元素写 0。它是闪存,所以我想将它初始化为-1(0xFFFFFFFF)。当然,我可以按照第 2 行的方式单独初始化每个元素,但我的数组有相当多的数据。

是否可以使用 C99 为 ARMCC 和 GNU 做我想做的事? 提前致谢。

1 个答案:

答案 0 :(得分:0)

宏来拯救:

import os
import torch
import torch.distributed as dist
import torch.multiprocessing as mp

def run(rank, size):
    tensor = torch.zeros(1)
    if rank == 0:
        tensor += 1
        # Send the tensor to process 1
        # line causing problem below
        dist.broadcast(tensor=tensor, src=0)
        dist.barrier()
    print('Rank ', rank, ' has data ', tensor[0])

def init_process(rank, size, fn, backend='gloo'):
    """ Initialize the distributed environment. """
    os.environ['MASTER_ADDR'] = '127.0.0.1'
    os.environ['MASTER_PORT'] = '29500'
    dist.init_process_group(backend, rank=rank, world_size=size)
    fn(rank, size)


if __name__ == "__main__":
    size = 5
    processes = []
    mp.set_start_method("spawn")
    for rank in range(size):
        p = mp.Process(target=init_process, args=(rank, size, run))
        p.start()
        processes.append(p)
    for p in processes:
        p.join()