turon commented on a change in pull request #81: porting: Add FreeRTOS on nRF5 
SDK porting example
URL: https://github.com/apache/mynewt-nimble/pull/81#discussion_r189945070
 
 

 ##########
 File path: porting/examples/freertos_nrf5_sdk/main.c
 ##########
 @@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include <assert.h>
+#include <stdbool.h>
+#include <stdint.h>
+
+#include "FreeRTOS.h"
+#include "task.h"
+#include "nrf_drv_clock.h"
+
+#include "nimble/nimble_port.h"
+
+static TaskHandle_t nimble_host_task_h;
+static TaskHandle_t nimble_ctrl_task_h;
+
+static uint32_t radio_isr_addr;
+static uint32_t rng_isr_addr;
+static uint32_t rtc0_isr_addr;
+
+/* Some interrupt handlers required for NimBLE radio driver */
+
+void
+RADIO_IRQHandler(void)
+{
+    ((void (*)(void))radio_isr_addr)();
+}
+
+void
+RNG_IRQHandler(void)
+{
+    ((void (*)(void))rng_isr_addr)();
+}
+
+void
+RTC0_IRQHandler(void)
+{
+    ((void (*)(void))rtc0_isr_addr)();
+}
+
+/* This is called by NimBLE radio driver to set interrupt handlers */
+void
+npl_freertos_hw_set_isr(int irqn, uint32_t addr)
+{
+    switch (irqn) {
+    case RADIO_IRQn:
+        radio_isr_addr = addr;
+        break;
+    case RNG_IRQn:
+        rng_isr_addr = addr;
+        break;
+    case RTC0_IRQn:
+        rtc0_isr_addr = addr;
+        break;
+    }
+}
+
+uint32_t
+npl_freertos_hw_enter_critical(void)
 
 Review comment:
   Shouldn't this be in npl implementation for arm freertos rather than in 
example?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to