1. namespace android
2. {
3. /*在硬件抽象层中定义的硬件访问结构体,参考*/
4. struct hello_device_t* hello_device = NULL;
5. /*通过硬件抽象层定义的硬件访问接口设置硬件寄存器val的值*/
6. static void hello_setVal(JNIEnv* env, jobject clazz, jint value) {
7. int val = value;
8. LOGI("Hello JNI: set value %d to device.", val);
9. if(!hello_device) {
10. LOGI("Hello JNI: device is not open.");
11. return;
12. }
13.
14. hello_device->set_val(hello_device, val);
15. }
16. /*通过硬件抽象层定义的硬件访问接口读取硬件寄存器val的值*/
17. static jint hello_getVal(JNIEnv* env, jobject clazz) {
18. int val = 0;
19. if(!hello_device) {
20. LOGI("Hello JNI: device is not open.");
21. return val;
22. }
23. hello_device->get_val(hello_device, &val);