Пример #1
0
static int __init spi_init(void)
{
    int ret ;
    ret = spi_int();
    if( ret )
    {
        printk(KERN_INFO "SPI was not able to set ");
        return ret;
    }
    ret = setup_pinmux();  // way of setting up gpio in linux kernel
    if(ret)
    {
        printk(KERN_INFO "CHIP SELECT OF GPIO WAS NOT ABLE TO SET");
    }

    static struct netlink_kernel_cfg cfg;

    printk("Entering: %s\n",__FUNCTION__);
//  nl_sk=netlink_kernel_create(&init_net, NETLINK_USER, NULL);  //used if kernel version is less than 2.60
    cfg.input = nl_recv_send_msg;  //for kernel version < 2.60
    nl_sk=netlink_kernel_create(&init_net, NETLINK_USER,  &cfg );

    if(!nl_sk)
    {
        printk(KERN_ALERT "Error creating socket.\n");
        return -10;
    }
    return 0;
}
Пример #2
0
int main()
{
	int i;

#ifdef FPGA 
	pll_init();
#else
	bt16_pll_init();
#endif
    delay(500000);

    uart_init((96000000/ 460800));  // pa8
    puts(pubDate);
    puts("...fpga bt16 setup ok.......\n");

#ifdef FPGA 
	spi_int();  
#endif
    puts("-----1\n");
	system_init();

    puts("-----2\n");
	timer0_start();

    puts("-----3\n");
	RF_init();

    //----------debug
    HWI_Install(1, exception_isr, 3) ; //timer0_isr
    

	ENABLE_INT();

    puts("-----4\n");
	thread_init(os_create_thread, os_delete_thread);

    puts("-----5\n");
	sys_timer_init();

    puts("-----6\n");
    ble_main();
    btstack_main();

	/* device_manager_init(); */

	/*INTALL_HWI(BT_BLE_INT, le_hw_isr, 0);
	INTALL_HWI(18, le_test_uart_isr, 0);*/

	lbuf_init(malloc_buf, sizeof(malloc_buf)*4);

	/* btstack_v21_main(); */

    puts("------------4.0 start run loop-----------\n");
    while(1)
    {
		int c;
       //asm("idle");
	   /*delay(100000);*/
		for (i=0; i<PRIORITY_NUM; i++)
		{
			if (thread_fun[i]){
				thread_fun[i](i);
			}

		}
        c = getchar();
        switch(c)
        {
            case 'A':
                puts("user cmd : ADV\n");
                ble_set_adv();
                break;
            case 'S':
                puts("user cmd : SCAN\n");
                ble_set_scan();
                break;
            default:
                break;
        }

		/*run_loop_execute();*/
	   /*printf("k");*/
    }

    return 0;
}