示例#1
0
文件: timer.c 项目: mfsar/sysabstrk
int main(void)
{
    tmr_t test_timer, test_timer_2, test_timer_3;

    printf("System abstraction test - POSIX implementation\n");

    system_init();

    tmr_init(&test_timer, true, test, NULL);
    tmr_start(test_timer, 100);
    tmr_init(&test_timer_2, true, test_2, NULL);
    tmr_start(test_timer_2, 275);
    tmr_init(&test_timer_3, false, test_3, NULL);
    tmr_start(test_timer_3, 1000);
    tmr_stop(test_timer);
    tmr_reset(test_timer);

    system_start();

    tmr_destroy(test_timer);
    tmr_destroy(test_timer_2);
    tmr_destroy(test_timer_3);

    return 0;
}
示例#2
0
int
main(void)
{
    struct nffs_area_desc descs[NFFS_AREA_MAX];
    /** Contains indices of the areas which can contain image data. */
    uint8_t img_areas[NFFS_AREA_MAX];
    /** Areas representing the beginning of image slots. */
    uint8_t img_starts[2];
    int cnt;
    int total;
    struct boot_rsp rsp;
    int rc;
    struct boot_req req = {
        .br_area_descs = descs,
        .br_image_areas = img_areas,
        .br_slot_areas = img_starts,
    };

    os_init();

    cnt = (NFFS_AREA_MAX / 2) - 3;
    rc = flash_area_to_nffs_desc(FLASH_AREA_IMAGE_0, &cnt, descs);
    img_starts[0] = 0;
    total = cnt;

    cnt = (NFFS_AREA_MAX / 2) - 3;
    rc = flash_area_to_nffs_desc(FLASH_AREA_IMAGE_1, &cnt, &descs[total]);
    assert(rc == 0);
    img_starts[1] = total;
    total += cnt;

    cnt = 1;
    rc = flash_area_to_nffs_desc(FLASH_AREA_IMAGE_SCRATCH, &cnt, &descs[total]);
    assert(rc == 0);
    req.br_scratch_area_idx = total;
    total += 1;

    req.br_num_image_areas = total;

    for (cnt = 0; cnt < total; cnt++) {
        img_areas[cnt] = cnt;
    }

    cnt = 6;
    rc = flash_area_to_nffs_desc(FLASH_AREA_NFFS, &cnt, &descs[total]);
    assert(rc == 0);
    total += cnt;

    nffs_config.nc_num_inodes = 50;
    nffs_config.nc_num_blocks = 50;
    nffs_config.nc_num_cache_blocks = 32;

    rc = boot_go(&req, &rsp);
    assert(rc == 0);

    system_start((void *)(rsp.br_image_addr + rsp.br_hdr->ih_hdr_size));

    return 0;
}
示例#3
0
int main()
{
    bool auto_reload = true;

    task_t task1;
    create_timer(&tt, "name", 500, auto_reload, NULL, (task_routine_t)handle_sig);

    system_init();
    task_create(&task1, task, NULL, NULL, 0, 0);
    system_start();

    timer_destroy(tt);

    return 0;
}